分享 link_to 想默认加上 target:"_blank"该怎么做?

evan · November 09, 2012 · Last by cactis replied at November 09, 2012 · 3364 hits

看了 api 感觉参数好复杂,不知道该怎么重写

最好不要这么干,你如果实在懒得写太多参数,就自己定一个 link_to_blank 的方法包装一下 link_to

def link_to_blank(*args, &block)
  if block_given?
    args = [(args.first || {}), (args.second || {}).merge(:target => '_blank')]
  else
    args = [(args.first || {}), (args.second || {}), (args.third || {}).merge(:target => '_blank')]
  end
  link_to(*args, block)
end

根据你的思路网上找了段代码,其实我是不清楚 target:"_blank"怎么正确的 merge 到 *args 里面,认真研究了下搞明白了,谢谢

You need to Sign in before reply, if you don't have an account, please Sign up first.