Rails路由有多个标识符?

时间:2011-07-26 20:28:31

标签: ruby-on-rails-3 custom-routes

我正在尝试在Rails 3中设置路由,如下所示:

/items/:category/:name/

进行匹配很容易设置,然后使用以下内容生成URL:

item_path(:category => @item.category, :name => @item.name)

但有没有办法设置它以便item_path @item和form_for @item会自动运行,所以我不必每次都传递这个类别?

谢谢!

1 个答案:

答案 0 :(得分:0)

不是真的没有。我建议在Item上定义一个to_params(注意's')方法,如下所示:

def to_params {:category => category, :name => name} end

然后像item_path(@item.to_params)那样调用它。如果您违反了要求,我可以保证您会遇到您不想要的情况。