【发布时间】:2011-10-05 10:41:14
【问题描述】:
我正在配备一个 rails 3 应用程序(版本 3.0.9)来使用 AJAX 和 jQuery 来流畅地处理用户帖子。我希望在提交帖子后刷新 #users_info div。我可以让它工作,但 div 的内容不能正确呈现。具体来说create.js.erb中的jquery代码:
$("#right_bar").html(
'<%= escape_javascript(render :partial => 'shared/user_info') %>'
);
用户信息 div 输出结果:
<div id=user_info> <h1>
<a href=/users/101>Example Usera> h1>
46 posts <br>
4 discussions <br>
Following 2 topics <br>
Joined 8 days ago.div>
注意 escape_javascript 函数如何删除 html 中结束标记上的所有前导尖括号(变为 a>,变为 h1>)。如何强制 escape_javascript 避免这样做?我认为这是所有相关代码,但如果需要可以发布更多。
更新
我想知道使用 to_json 是否会成为解决方案的一部分。代码:
'shared/user_info').to_json) %>
导致 html 标签未被破坏。但是,我不知道如何从 json 转换回来以输出所需的 html。只是觉得这可能是一个正确的开始,但我不知道如何完成它
【问题讨论】:
-
你的意思是它正在删除前导尖括号。
标签: javascript jquery ruby-on-rails-3 escaping