从一个辅助方法渲染的谐音(Rendering partials from a helper meth

2019-07-31 12:35发布

是否有可能使用一个辅助方法,你也可以从其中辅助方法被称为视图通过本地变量来呈现的部分? 例如,当我在视图中直接包括此代码,它呈现的部分正确:

 <%= render :partial => "add_round", :locals => { :f => f } %>

然后,我把它移到一个辅助方法:

def addRound
  render :partial => "add_round", :locals => { :f => f }
end

然后,我又打电话从视图:

 <%= addRound %>

当地人=> {:F => F}在代码中包含这并不配合工作。 它返回此错误:未定义的局部变量或方法'F”。 然而,addRound方法确实呈现有以下一些:

def addRound
  render :partial => "add_round"
end

写这种方式让我来渲染,并不需要局部变量通过(如纯文本字符串)传递的谐音。 但是,我怎么能得到它与合作:=> {当地人:F => F}包括在内? 有另一种方式来写呢?

非常感谢。

Answer 1:

你需要传递faddRound

def addRound(f)
  render partial: "add_round", locals: { f: f }
end

并在视图

<%= addRound(f) %>


文章来源: Rendering partials from a helper method