ruby-on-rails – Rails 4通过渲染部分传递多个变量
发布时间:2020-12-17 03:24:09 所属栏目:百科 来源:网络整理
导读:这个问题已被多次询问,但我无法让它发挥作用. 我想把多个变量传递给我这样的部分… %= f.fields_for :materials do |builder| % %= render partial: 'material_fields',locals: {f: builder,feed: true} %% end % 这里是部分material_fields.html.erb的一行,
这个问题已被多次询问,但我无法让它发挥作用.
我想把多个变量传递给我这样的部分… <%= f.fields_for :materials do |builder| %> <%= render partial: 'material_fields',locals: {f: builder,feed: true} %> <% end %> 这里是部分material_fields.html.erb的一行,我希望f.select预先填充Yes选项或“true”值. (有些情况我希望它是假的) <%=f.select :is_feed,options_for_select([['Yes',true],['No',false]],feed )%> f是可用的,而饲料不工作…..我不知道为什么这不起作用. 在这两种情况下,我得到未定义的局部变量或方法`feed’. 有人知道我的语法有什么问题吗? 解决方法
我弄清楚问题是什么.
我有 <%= f.fields_for :materials do |builder| %> <%= render partial: 'material_fields',feed: true } %> <% end %> 后来我也有同样的观点 <%= f.fields_for :materials do |builder| %> <%= render 'material_fields',f: builder %> <% end %> 显然,当从一个文件渲染相同的部分两次时,参数被搞砸了.进一步的测试可以隔离问题,但我没有精力或时间. 解决方案:在两个渲染上声明相同的参数.值可以不同,它们按预期工作. <%= f.fields_for :materials do |builder| %> <%= render partial: 'material_fields',feed: true } %> <% end %> <%= f.fields_for :materials do |builder| %> <%= render partial: 'material_fields',feed: false } %> <% end %> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |