Rails 3.2 + jQuery +在 js.erb 中渲染部分 = 损坏的 HTML 元素

发布于 2025-01-01 14:59:11 字数 590 浏览 0 评论 0原文

任务非常简单:使用 OnChange AJAX 函数渲染部分模板。 执行带有渲染的 js.erb 后,我的页面上出现了损坏的 HTML 标签,新的所有渲染元素都已损坏。 在此示例中,它将 'a>' 添加到链接名称,因此 DOM 包含 'New Branda>'

#partial
<%= link_to 'New Brand', new_brand_path %>

#controller-------------------------
...
format.js

#parent view------------------------
<div id="partial-id">
    <%= render 'partial' %>
</div>

#action_script.js.rjs---------------
$("#partial-id").html("<%= escape_javascript(render ('partial')).html_safe %>");

建议将受到高度赞赏,我已经花了几个小时试图找出解决方案。

The task is pretty simple: render partial template with OnChange AJAX function.
After js.erb with render is executed I get broken HTML tags on my page new all rendered elements.
In this example it adds 'a>' to the link name, so DOM contains 'New branda>'.

#partial
<%= link_to 'New Brand', new_brand_path %>

#controller-------------------------
...
format.js

#parent view------------------------
<div id="partial-id">
    <%= render 'partial' %>
</div>

#action_script.js.rjs---------------
$("#partial-id").html("<%= escape_javascript(render ('partial')).html_safe %>");

Suggestions will be highly appreciated, I've already spent several hours trying to find out solution.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

给我一枪 2025-01-08 14:59:11

一旦我从Prototype切换到jQuery,问题就解决了。因此 *action_script.js.erb* 效果很好,在这种情况下不需要 .html_safe

The problem solved once I switched from Prototype to jQuery. So the *action_script.js.erb* works well and .html_safe is not required in this case.

尐籹人 2025-01-08 14:59:11

对于我们的 WODstack 来说,我们经常使用它,但我们从不使用 .html_safe。

只要删除你的 html_safe 就可以了。

For us with WODstack we use this quite a lot but we never ever use .html_safe.

Just remove your html_safe and you should be fine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文