Rails 3.2.1:我有以下div调用部分
<div id="weighin">
<%= render :partial => "my_weight/weighin" %>
</div>
partial包含一个表单,该表单将ajax(即has:remote =&gt; true)发布到控制器:
respond_to do |format|
format.js
end
.js.erb文件只有一行:
$("#weighin").html("<%= render :partial => "my_weight/weighin1" %>");
_weighin1.html.erb部分文件只有一行:
<p><%= @my_weight[1].weight %></p>
这是有效的,因为原来的div被@my_weight字段的值替换 - 所以基本结构都正常工作
但是,Rails不会处理部分中的任何代码 - 如果我将回车添加到那一行的末尾,服务器日志确认一切正常,但没有脚本在页面上运行 - 即没有什么变化。
如果我尝试在部分中添加更多html,但是将它们全部放在一行中也会发生同样的情况 - 这也不会运行。
如何在部分?
中输出多个短语句答案 0 :(得分:3)
好的,我想出来了:
$("#weighin").html("<%= escape_javascript(render :partial => "my_weight/weighin1") %>");
escape_javascript是必不可少的
令人困惑的是,根据您发送的html()中的内容,这有时会在没有escape_javascript的情况下发挥作用,导致错误的结论......: - )