当我在Bootstrap弹出窗口中渲染时,我想将局部变量传递给我的局部变量。这是我所拥有的,但我很确定我没有在content_tag中正确呈现部分内容。
<%= content_tag :button, type: "button", class: "btn btn-default",
:data => { container: "body", toggle: "popover", placement: "bottom",
content: "#{render 'layouts/quick_add_form', :locals => {:code => item1.code}}"} do %>
button
<% end %>
非常感谢任何帮助!
修改
目前,局部变量未传递给局部变量,因此:code
属性不会保存在表单提交上。
答案 0 :(得分:0)
我不相信你可以使用#{}除了HAML(哦等等,我看到#{}被用作常规的Ruby字符串插值 - 我认为它会起作用)。不仅如此,但是当您在部分上调用render
并且想要传递其他值时,由于某种原因(对于某些版本的Rails),您必须明确地声明它是部分的:
render partial: 'layouts/quick_add_form', :locals => {:code => item1.code}
这将起作用,至少在ERB或HAML中。
您还应该通过在浏览器中查看CTRL-U源来验证生成的HTML是否在数据属性中正确转义。