我试图在bootstrap popover中渲染form_for partial,并且由于某种原因,表单似乎没有正确关闭,打破了popover。
_post_form.html.erb
test_text_1
<%= form_for(@reblog) do |f| %>
<%= f.text_field :content %>
<%= f.submit %>
<% end %>
test_text_2
调用popover和form的视图助手:
def reblog_post(reblog)
button_tag(class: "btn btn-xs", data: { toggle: "popover", placement: "bottom", html: true, content: (render partial: "shared/post_form") }) do
'<a><span class="glyphicon glyphicon-retweet"></span></a>'.html_safe
end
end
当只有纯文本或html时,popover工作正常,但是只要我将form_for放入其中,form_for之后的所有内容(即test_text_2,以及表单元素)都会在popover之外呈现,尾随">
,这使得表单字段看起来没有正确关闭。表单之前的任何纯文本(例如,test_text_1)仍然在表单内正确呈现。我是否错过了拼写错误,或者是否有特定方法在引导程序弹出窗口中呈现表单?
答案 0 :(得分:1)
而不是
content: (render partial: "shared/post_form")
尝试:
content: "#{ render partial: 'shared/post_form' }"
您还要确保popover
初始化接受html内容(默认为仅文字),即$("#id").popover({html: 'true'})
http://getbootstrap.com/javascript/#popovers-options
干杯