Rails: Verwenden Sie button_to, um Aktionen des Controllers zu erstellen - Ruby-on-Rails, Ruby, Ruby-on-Rails-3, Routen
Warum kann ich mit button_to nicht die Erstellungsaktion meines Controllers angeben, statt sie anzuzeigen?
Ich habe mehrmals versucht, hinzuzufügen: action => "create" und andere solche Dinge zu den button_to-Parametern
<%= button_to "subscribe", subscription_path(feed_url: @feed.feed_url)%>
muss ich in meinen routes.rb eine create route angeben? Wenn ja, wie soll ich das tun?
Wenn diese Zeile verwendet wird, bekomme ich diesen Fehler beim Laden:
Routingfehler
Keine Route stimmt überein {: action => "show",: controller => "Abonnements",: feed_url => "http://foo.com/rss"}
In routes.rb habe ich dies als einzige Referenz zu Abonnements.
resource :subscriptions
Antworten:
3 für die Antwort № 1Sie müssen verwenden subscriptons_path
nicht subscription_path
.
subscription_path
dient zum Anzeigen eines bestimmten Abonnements.
subscriptions_path
dient zum Anzeigen aller Abonnements (über eine GET-Anfrage) oder zum Erstellen neuer Abonnements (über eine POST-Anfrage).
<%= button_to "subscribe", subscriptions_path(feed_url: @feed.feed_url, :method => :post)%>