我已经设置了以下路线的Rails 3如何在Rails中更简洁地生成此自定义URL?
get '/:user_id/wants/:id' => 'wanted_items#public_view', :as => 'public_wanted_item'
,其给出了耙路线如下:
public_wanted_item GET /:user_id/wants/:id(.:format) {:controller=>"wanted_items", :action=>"public_view"}
和它产生下面的网址,这正是我想要的东西:
/username/wants/itemname
问题是,为了在我的视图中生成这个,我必须使用一个相当详细的构造,其中我明确指定“:user_id”和“:id” :
ruby-1.9.2-p0 :012 > app.public_wanted_item_path(:user_id => item.user, :id => item)
是否有任何方法可以使此调用更简洁,因为我将在应用程序中使用它?
感谢
编辑:我发现一个可行的解决方案..下面粘贴
看来,如果我使用下面的结构,这是我所希望的工作一样好.. ..虽然我不知道到底为什么它的工作原理..
ruby-1.9.2-p0 :002 > app.public_wanted_item_path item.user, item
因为下一个不工作,而是抛出一个错误:
ruby-1.9.2-p0 :004 > app.public_wanted_item_path([item.user, item])
在我的哈姆意见 – noli