【发布时间】:2013-09-18 22:05:38
【问题描述】:
我可以将单个参数从视图传递给局部视图,但由于某种原因,当我添加第二个参数时,它是未定义的(无类)。
这是我在视图中调用部分的方式:
<%= render 'project_form', locals: {project: @project, form_method: 'patch'} %>
这是部分的顶部(_project_form.html.erb):
<%= logger.debug( @form_method ) %>
这会在视图中打印“true”,并且不会在日志中记录任何内容(空白行)。
为什么它不接收第二个参数?我可以调试@project,这是我所期望的。
更新: 根据this question,您需要稍微修改渲染语法以传递多个参数。
所以我遇到了两个问题:1) 变量范围,2) render :partial 语法需要显式传递多个局部变量。
【问题讨论】:
-
如果@project 正在工作,那么这可能意味着您甚至不需要传递它(因为它是一个实例变量并且已经可用)
标签: ruby-on-rails ruby ruby-on-rails-4