3

我在 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' }

但这似乎不起作用。

4

1 回答 1

5

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

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

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

于 2010-02-19T21:56:14.457 回答