Rails + Bootstrap:在Bootstrap popover中使用本地渲染部分

时间:2014-05-28 22:27:48

标签: ruby-on-rails twitter-bootstrap

当我在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属性不会保存在表单提交上。

1 个答案:

答案 0 :(得分:0)

我不相信你可以使用#{}除了HAML(哦等等,我看到#{}被用作常规的Ruby字符串插值 - 我认为它会起作用)。不仅如此,但是当您在部分上调用render并且想要传递其他值时,由于某种原因(对于某些版本的Rails),您必须明确地声明它是部分的:

render partial: 'layouts/quick_add_form', :locals => {:code => item1.code}

这将起作用,至少在ERB或HAML中。

您还应该通过在浏览器中查看CTRL-U源来验证生成的HTML是否在数据属性中正确转义。