gpt4 book ai didi

jquery - Rails escape_javascript 和 remotipart

转载 作者:数据小太阳 更新时间:2023-10-29 08:08:51 24 4
gpt4 key购买 nike

当用 jquery 和 rails 替换 html 时(在 4.0.4 上测试),以下工作:

replace.js.erb的内容

$('#my_div').html("<%= j(render 'my_partial') %>");

_my_partial.html.erb 的内容

"This" works
<%= '"This" also works' %>

但是,当 replace.js.erb 被呈现以响应使用 remotipart gem (1.2.1) 提交的 ajax 文件时,它会失败,如下所示。

create.html.erb的内容

<%= form_for @my_model, :html => {:remote => true} do |f| %>
<%= f.file_field :some_file %>
<%= f.submit %>
<% end %>

它会在浏览器中导致以下 javascript 错误,因为引号未正确转义。

语法错误:意外的标识符

服务器响应:$('#my_div').html("\"This\"works\n"This"fails\n");

请注意,如果我在未选择文件的情况下提交,则不会发生 javascript 错误,并且会正确重新呈现。似乎在未选择文件时未调用 remotipart,可能是因为不需要多部分表单。

最佳答案

我终于解决了同样的问题,尝试了类似的方法:

$("#my_div").html("<%= escape_javascript(render :partial => 'my_partial').gsub('&quot;', "'") %>");

关于jquery - Rails escape_javascript 和 remotipart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23296552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com