【发布时间】:2012-09-11 01:41:48
【问题描述】:
是否可以使用辅助方法渲染局部变量,您还可以从调用辅助方法的视图中传递局部变量?例如,当我直接在视图中包含此代码时,它会正确呈现部分:
<%= render :partial => "add_round", :locals => { :f => f } %>
然后我把它移到一个辅助方法中:
def addRound
render :partial => "add_round", :locals => { :f => f }
end
然后我再次从视图中调用它:
<%= addRound %>
这不适用于代码中包含的 :locals => { :f => f }。它返回此错误:未定义的局部变量或方法“f”。但是,addRound 方法确实渲染了以下内容:
def addRound
render :partial => "add_round"
end
以这种方式编写它允许我渲染不需要传递局部变量的部分(例如纯文本字符串)。但是我怎样才能让它与包含的 :locals => { :f => f } 一起工作?还有其他写法吗?
非常感谢。
【问题讨论】:
-
将
f作为辅助方法中的参数传递
标签: ruby-on-rails ruby-on-rails-3.2