加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 从辅助方法渲染部分

发布时间:2020-12-16 19:17:59 所属栏目:百科 来源:网络整理
导读:是否可以使用辅助方法渲染部分,您还可以从调用辅助方法的视图中传递局部变量?例如,当我直接在视图中包含此代码时,它会正确呈现部分代码: %= render :partial = "add_round",:locals = { :f = f } % 然后我将它移动到辅助方法: def addRound render :parti
是否可以使用辅助方法渲染部分,您还可以从调用辅助方法的视图中传递局部变量?例如,当我直接在视图中包含此代码时,它会正确呈现部分代码:
<%= 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传递给addRound
def addRound(f)
  render partial: "add_round",locals: { f: f }
end

并在视图中

<%= addRound(f) %>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读