帮助中的召唤率

时间:2012-11-14 03:39:21

标签: ruby-on-rails ruby-on-rails-3

以下结果导致LocalJumpError(没有赋予yield的块)

帮助者:

def yield_wrapper
  yield
end

在视图中:

<%= yield_wrapper %>

怎么会这样呢?我希望将它与子布局一起使用:

<%= content_for?(:content) ? yield(:content) : yield %>

我认为调用辅助方法会更好:

<%= special_yield(:content) %>

1 个答案:

答案 0 :(得分:1)

我认为你不能。

yield需要一个块,它被调用以向实现块的代码返回一个值。您正在将上下文与其在布局文件中的使用混合以从erb文件中注入内容。

此外,我认为这是一个坏主意。它似乎没有必要,似乎它创造了比它摆脱更多的代码。