Rails:如何在基于资源的link_to调用中添加其他参数?

时间:2010-02-19 18:36:05

标签: ruby-on-rails ruby rest link-to

我在routes.rb中定义了一个资源,如下所示:

map.resources :users

我喜欢使用最干净的link_to选项,即:

link_to @user

我想在此调用中添加一个额外的参数:“view = local”

如果我使用的是user_path,我会这样做:

link_to user_path(@user, { :view => 'local' })

有没有办法在不明确包含user_path函数的情况下获得相同的结果?理想情况下,我会做类似的事情:

link_to @user, { :view => 'local' }

但这似乎不起作用。

1 个答案:

答案 0 :(得分:5)

不,你不能。您唯一真正的控制是能够在链接标记上添加更多参数。 link_to有第三个参数,可以让你在HTML标签上添加title属性之类的东西,但它不会修改href值。

http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#M001597

继续使用user_path助手。与Rails中的大多数内容一样,如果您想执行默认操作,它将变得简单。你想做一些更复杂的事情,所以你必须做更多的工作:)