Rails:使用button_to创建控制器的动作

为什么我不能让我的button_to指定我的控制器的创建动作而不是显示

我已经多次尝试添加:action =>“create”和其他类似的东西到button_to参数

 

我需要在routes.rb中指定创建路由吗? 如果是这样我该怎么办呢?

当使用该行的方式时,我在加载时遇到此错误:

路由错误

没有路由匹配{:action =>“show”,:controller =>“subscriptions”,:feed_url =>“http://foo.com/rss”}

在routes.rb中我将此作为订阅的唯一引用。

  resource :subscriptions 

您需要使用subscripton s _path ,而不是subscription_path

subscription_path用于显示特定订阅。
subscriptions_path用于显示所有订阅(通过GET请求)或创建新订阅(通过POST请求)。

 <%= button_to "subscribe", subscriptions_path(feed_url: @feed.feed_url, :method => :post)%>