Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 4:将多个参数传递给partial_Ruby On Rails_Ruby_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails Rails 4:将多个参数传递给partial

Ruby on rails Rails 4:将多个参数传递给partial,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我能够将单个参数从视图传递到分部,但由于某些原因,当我添加第二个参数时,它是未定义的(nil类) 以下是我如何在视图中调用分部: <%= render 'project_form', locals: {project: @project, form_method: 'patch'} %> 下面是部分(_project_form.html.erb)的顶部: 这将在视图中打印“true”,并在日志中不记录任何内容(空行) 为什么它不接受第二个论点?我可以调试@project,这

我能够将单个参数从视图传递到分部,但由于某些原因,当我添加第二个参数时,它是未定义的(nil类)

以下是我如何在视图中调用分部:

<%= render 'project_form', locals: {project: @project, form_method: 'patch'} %>

下面是部分(_project_form.html.erb)的顶部:


这将在视图中打印“true”,并在日志中不记录任何内容(空行)

为什么它不接受第二个论点?我可以调试@project,这就是我期望的类

更新: 根据,需要稍微修改渲染语法以传递多个参数


因此,我遇到了两个问题:1)变量范围,2)呈现:部分语法需要显式才能传递多个局部变量。

这是您试图打印的局部变量。在分部而不是
@form_方法中尝试此方法

<%= logger.debug( form_method ) %>

我认为下面将在您的部分中打印值:

<%= form_method %>


如果@project正在工作,则可能意味着您甚至不需要传递它(因为它是一个实例变量,并且已经可用),谢谢。这似乎奏效了。你能帮我理解为什么要定义@project吗?实例变量的作用域是否自动应用于部分?是的,@project作用域将自动应用于您将渲染到视图中的所有部分。
<%= form_method %>