通过Rails中的包装器方法传递可选参数

时间:2010-02-08 00:03:43

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

我有link_to的以下包装方法:

def link_to_with_current(text, link, condition, *args)
  current_class = condition ? 'current' : nil
  link_to text, link, :class => current_class, *args
end

使用此示例调用时:

link_to_with_current 'My Link', '/mylink.html', true, :id => 'mylink'

生成以下链接:

<a href="/mylink" class="current">My Link</a>

为什么ID不显示?

1 个答案:

答案 0 :(得分:1)

感谢theIV的建议,我发现了一个有效的版本:

def link_to_with_current(text, link, condition, *args)
  options = args.first || {}
  options[:class] = condition ? 'current' : nil
  link_to text, link, options
end