我正在使用Rails 4和包含的jQuery库。当我必须在页面上显示AJAX检索的HTML代码时,我遇到了麻烦。也就是说,在我看来,我有以下代码:
# NOTES
#
# In my config/initializers/mime_types.rb file I have
# Mime::Type.register_alias 'text/html', :custom
#
# In my controller action I have:
#
# respond_to do |format|
# format.custom { render(:partial => 'my_partial', :formats => :html) }
# end
link_to('show comment', comment_path(@comment, :format => :custom), :remote => true, :id => 'css_id')
$('#css_id').on('ajax:success', function(event, xhr, status) {
$(this).html(xhr)
});
当AJAX请求成功时,输出代码显示为如下所示(注意:<b>
和</b>
未进行HTML解析):
This is the <b>response html</b>.
通过使用FireBug,我可以看到响应包含:
<div>This is the <b>response html</b>.</div>
如何让它以正确的方式显示<b>
和</b>
?也就是说,如何将这些评估为HTML代码?
答案 0 :(得分:0)
尝试使用format.js。例如:
respond_to do |format|
format.js {
render partial: "...", layout: false, locals: { ... }
}
end
答案 1 :(得分:0)
我必须在服务器端运行html_safe
方法,如下所示:
"This is the <b>response html</b>".html_safe
谢谢,无论如何。