如何使用`url_for`的括号表示法创建指向嵌套资源索引的链接

时间:2014-02-11 23:55:39

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

假设我有以下路线:

resources :users do
  resources :sweets
end

如果我想在链接中显示甜蜜,我可以使用括号,Rails会在我的位置自动调用方法url_for。所以,这有效:

link_to "See this sweet", [@user, @sweet]

问题:有没有办法使用此括号表示法为/users/:user_id/sweets指定路线?

基本上我想在这一行中发现我应该放在thingN的位置:

link_to "See this sweet", [thing1, thing2, thing3]

生成/users/:user_id/sweets网址。

2 个答案:

答案 0 :(得分:1)

根据您的更新,我认为您想要的是

link_to "See this sweet", [@user, "sweets"]

该语法应该等同于

link_to "See this sweet", user_sweets_path(@user)

答案 1 :(得分:0)

在路径

中使用resource关键字
resources :users do
  get 'sweets' => 'controller#action', :as => :collection
end

它产生一个单身人士。然后使用rake routes查找路径字符串。 它应该产生你想要的东西。