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

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

但是似乎这并没有起作用。


请编辑您的消息并使用"1010"按钮来突出代码,使您的问题更易读 :) - Trevoke
1个回答

5

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

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

使用user_path助手吧。与Rails中的大多数东西一样,如果您想执行默认操作,那么它将非常简单。但如果您想要做更复杂的事情,那么就需要更多的工作 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接