0

button_toで、表示するのではなく、コントローラーの作成アクションを指定できないのはなぜですか

button_toパラメーターに:action=>"create"などを追加しようと何度も試みました。

<%= button_to "subscribe", subscription_path(feed_url: @feed.feed_url)%>

ルート.rbで作成ルートを指定する必要がありますか?もしそうなら、私はそれについてどうすればいいですか?

その行のように使用すると、ロード時に次のエラーが発生します。

ルーティングエラー

{:action => "show"、:controller => "subscriptions"、:feed_url=>"http://foo.com/rss"}に一致するルートはありません

ルート.rbで私はサブスクリプションへの唯一の参照としてこれを持っています。

  resource :subscriptions
4

1 に答える 1

4

ではなく、を使用する必要があります。subscriptons_pathsubscription_path

subscription_path特定のサブスクリプションを表示するためのものです。
subscriptions_path(GET リクエストを介して) すべてのサブスクリプションを表示するため、または (POST リクエストを介して) 新しいサブスクリプションを作成するためのものです。

<%= button_to "subscribe", subscriptions_path(feed_url: @feed.feed_url, :method => :post)%>
于 2012-05-07T20:40:59.730 に答える