【发布时间】:2013-08-07 09:35:19
【问题描述】:
如果存在,我需要将参数sort 添加到我的所有链接中。
我想到的解决方案:
-
使用link_to..不方便,我认为它很丑。
link_to 'Something', tag_url(tags, params.except(:controller, :action)) 创建自定义链接帮助程序
Owerwrite link_to helper(已经尝试过,但没有成功)
什么是最佳实践?
更新:
def link_to_with_params(*args, &block)
if block_given?
options = args.first || {}
html_options = args.second
link_to(capture(&block), options, html_options)
else
name = args[0]
options = args[1] || {}
html_options = args[2]
html_options = convert_options_to_data_attributes(options, html_options)
url = url_for(options) # Add params.except(:controller, :action)
href = html_options['href']
tag_options = tag_options(html_options)
href_attr = "href=\"#{ERB::Util.html_escape(url))}\"" unless href
"<a #{href_attr}#{tag_options}>#{ERB::Util.html_escape(name || url)}</a>".html_safe
end
end
如何将params.except(:controller, :action) 传递给上面帮助程序中的 url?
【问题讨论】:
-
我认为第二个选项要好得多
-
@Salil - 好的,我已经复制了 link_to 辅助方法并重命名了,如何在辅助方法中添加参数?我已经更新了我的问题。
标签: ruby-on-rails ruby-on-rails-3