Ruby on rails 在标记的表单_中使用局部变量渲染局部

Ruby on rails 在标记的表单_中使用局部变量渲染局部,ruby-on-rails,Ruby On Rails,我有这张表格(简体) 但是,这些变量在以下部分中不可用: undefined local variable or method `foo' for #<#<Class:0x007fb35027bbd0>:0x007fb350536e60> 未定义的局部变量或方法“foo”# 如果我把render放在form\u标签的外侧就可以了 提前谢谢 更新1:在表单末尾,我有以下内容: 如果我删除此部分,效果很好…您必须将参数作为局部变量,如下所示 <%= render

我有这张表格(简体)

但是,这些变量在以下部分中不可用:

undefined local variable or method `foo' for #<#<Class:0x007fb35027bbd0>:0x007fb350536e60>
未定义的局部变量或方法“foo”#
如果我把
render
放在
form\u标签的外侧
就可以了

提前谢谢

更新1:在表单末尾,我有以下内容:


如果我删除此部分,效果很好…

您必须将参数作为局部变量,如下所示

<%= render :partial => "some_partial", :locals => {foo: 10, bar: 20} %>
“部分”,:locals=>{foo:10,bar:20}%>
您试图使用添加关联的
链接加载的
部分
客户地址是否相同

我相信您遇到的错误消息来自
链接到添加关联的


看来你在用这个。为了将局部变量传递到Cocoon使用的分部中(
:client_addresses
),您需要传递参数
render_options:{locals:{foo:bar}
对于
链接到添加协会的链接

嗨,我也试过了。很抱歉没有提及。我会更新这个问题。奇怪的是,我只有删除这个选项才能起作用:```你使用的Cocoon gem正确吗?你能发布完整的表单代码吗?两部分都是
客户地址
。关于ode>render\u options
。但是我需要在渲染视图时传递局部变量,而不是在单击
link\u to\u add\u association
时。Cocoon将
渲染部分页面加载。如果
link\u to\u add\u association
声明中不存在
局部变量,则不会它将导致您看到的错误。由于您加载的是具有
的相同
客户端地址
部分,因此预期会传入这些局部变量。[此处]()是Cocoon的文档。
undefined local variable or method `foo' for #<#<Class:0x007fb35027bbd0>:0x007fb350536e60>
<%= render :partial => "some_partial", :locals => {foo: 10, bar: 20} %>