我有一个自定义路线(如果我这样做,这是我第一次这样做),看起来像这样:
map.connect 'purchases/type/:type', :controller => 'purchases', :action => 'index'
所以我想创建一个使用该url / purchases / type /(somenumber)的link_to
或者我完全愿意接受更好的方式。
修改
我正在尝试使用类别(类型)来过滤索引。所以,如果我点击将是/ purchases / type / 1的链接,它将显示类型1中的所有项目。我不希望这个在节目中,我可以用/ purchases /?type = 1,但即时尝试使网址看起来更好。
答案 0 :(得分:6)
未经测试,但我相信这就是你想要的......
map.purchase_type 'purchases/type/:type', :controller => 'purchases', :action => 'index'
然后
link_to 'foo', purchase_type_path(:type => 'your_type')
祝你好运。
答案 1 :(得分:1)
基于http://www.tutorialspoint.com/ruby-on-rails-2.1/rails-routes.htm(“命名路线”部分),我会尝试以下方法:
map.purchases_for_type 'purchases/type/:type', :controller => 'purchases', :action => 'index'
我猜你会用link_to 'link text', purchases_for_type(@type_param)
作为参考,我将包含Rails3方法:
match '/purchases/type/:type' => 'purchases#index', :as => "purchases_for_type", :via => "get"
或者更好(RESTful):
match '/type/:type/purchases' => 'purchases#index', :as => "purchases_for_type", :via => "get"
然后,您可以使用link_to 'link text', purchases_for_type(@type_param)