这是一个简单的问题示例。
简而言之,如果你有一个index.rhtml:
<%= link_to_function "A link to insert a partial with nested insert_html" do |page|
page.insert_html :top, :with_a_nested_insert_html, :partial => 'example_partial_with_nested_insert_html'
end %>
和_example_partial_with_nested_insert_html.rhtml
<%= link_to_function "A nested link to insert_html" do |page|
page.insert_html :top, :with_a_nested_insert_html, :partial => 'you_wont_see_this'
end %>
它打破了“使用嵌套的insert_html插入部分的链接”。我正在考虑需要做些什么来保护部分中的javascript。
有什么想法吗?
答案 0 :(得分:1)
我是这样做的。
<%= link_to_function( "insert it", :id => 'foo') do |page|
partial = escape_javascript(render :partial => "my_partial", :object => Object.new)
page << "$('#my_div').append(\"#{partial}\")"
end %>
答案 1 :(得分:0)
我没有尝试,但我强烈认为语法应该更像是:
<% link_to_function "A link to insert a partial with nested insert_html" do |page|
<%= page.insert_html :top, :with_a_nested_insert_html, :partial => 'example_partial_with_nested_insert_html' %>
<% end %>
答案 2 :(得分:0)
在渲染部分内容之前尝试使用escape_javascript - see this other question。