以下结果导致LocalJumpError(没有赋予yield的块)
帮助者:
def yield_wrapper
yield
end
在视图中:
<%= yield_wrapper %>
怎么会这样呢?我希望将它与子布局一起使用:
<%= content_for?(:content) ? yield(:content) : yield %>
我认为调用辅助方法会更好:
<%= special_yield(:content) %>
答案 0 :(得分:1)
我认为你不能。
yield
需要一个块,它被调用以向实现块的代码返回一个值。您正在将上下文与其在布局文件中的使用混合以从erb文件中注入内容。
此外,我认为这是一个坏主意。它似乎没有必要,似乎它创造了比它摆脱更多的代码。