我像这样渲染一部分:
<%= render :partial => 'widgets/some_partial,:locals => {:foo => 'bar'} %>
所以在_some_partial.html.erb里面,我再渲染两个这样的部分:
<% #foo.nil? #=> false %> <%= render :partial => 'widgets/another_partial',:locals => {:foo => foo} %> `<%= render :partial => 'widgets/another_partial_again',:locals => {:foo => foo} %>`
foo局部变量在some_partial.html.erb中甚至在another_partial_again.html.erb中显示出来.但是,即使我在render调用中显式地传递了foo变量,在another_partial.html.erb中也是无法访问的.
这里发生了什么?
谢谢您的帮助.
解决方法
当我渲染一个局部变量时,我有一个未定义的局部变量或方法错误:
但是,我有一个不同的问题导致我的问题,所以我以为我会分享我的解决方案,以帮助任何人. (这个页面是第一个结果,当我googled这个错误)
基本上只要确保你使用:partial =>你的调用中的’path / to / partial’渲染.
即
<%= render :partial => 'widgets/some_partial',:locals => {:foo => 'bar'} %>
不像我在做:
<%= render 'widgets/some_partial',:locals => {:foo => 'bar'} %>
容易的一个轨道/ruby新手像我想念.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。