Rails,路由映射与正确的操作不匹配

时间:2011-11-04 10:34:58

标签: ruby-on-rails-3.1

我正在尝试路由以下网址:

/shop/{category_id}/{product_id}/

到名为'product'的控制器操作

我的路线中有这个:

match "/shop/:category/:id" => "shop#product" 

我的link_to如下:

link_to_unless_current "#{t('murals')}", url_for(:controller => 'shop', :category => 'walls', :id => 'murals')

输出网址时,它们是:

http://0.0.0.0:3000/shop?category=walls&id=murals

而不是所需的:

http://0.0.0.0:3000/shop/walls/murals

如果我切换路线,那么它将转到:

match "/shop/:category/:id" => "shop#index"

这有效,但这不是正确的行动。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

试试这个

<%= link_to_unless_current "#{t('murals')}", custom_path(:category => 'walls', :id => 'murals') %>

match "/shop/:category/:id" => "shop#product", :as => :custom