我刚刚升级到rails3、ruby 1.9.2和最新的haml gem。
此代码用于:


  = allowed? do
    = link_to('New', new_video_path)

现在allowed?产生0
如果我这样做,它就会工作:

  = allowed?{ link_to('New', new_video_path) }

给出了什么?

最佳答案

实现这一产量概念的最干净方法是:

= allowed? do
  - capture_haml do
    = link_to('New', new_video_path)

但是,在您的情况下,为什么不编写另一个helper方法呢?
def allowed_link_to(*args, &block)
  opts = args.extract_options!
  if allowed? args.last
    link_to args.push(opts), &block
  else
    ''
  end
end

像这样使用:
= allowed_link_to('New', new_video_path)

10-07 21:18