Rails 5 link_to特定的控制器动作

时间:2017-07-25 11:49:11

标签: ruby-on-rails routing

我在Rails 5中遇到了以下路由问题:

<%= link_to product.id, product %> 

生成一个像这样的链接

  

本地主机:3000 /产品/ 12345

我想要的是一个指向&#34; ext&#34;的链接。产品控制器中的操作:

  

本地主机:3000 /产品/ EXT / 12345

如果我尝试建立像这样的链接

 <%= link_to 'To the product', :controller => :products, :action => :ext %>

它回复了以下错误:

  

没有路线匹配{:action =&gt;&#34;分机&#34;,:controller =&gt;&#34;产品&#34;}

在routes.rb中我有

  get "products/ext/:id", to: "products#ext"

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

修改您的路线

get "products/ext/:id", to: "products#ext", as: :products_ext

并将您的观点更改为

<%= link_to products_ext_path(product) %>