gpt4 book ai didi

javascript - Rails 3.1 escape_javascript 在 Rails 3.0 中无法正常工作

转载 作者:行者123 更新时间:2023-11-30 10:49:36 24 4
gpt4 key购买 nike

使用 Rails 3.0,如果想通过 javascript 呈现部分内容(例如在 AJAX 调用中),可以像这样转义内容

$('#some_id').html('<%= escape_javascript render(@post) %>');

它会起作用,因为 escape_javascript转义换行符、引号等。

在 Rails 3.1 中,同样的方法是转义所有内容(例如包括 <),这让我无法呈现内容。这在 3.1 中有变化吗?你是怎么做到的?

提前致谢!

最佳答案

您可能正在使用刚刚发布的 Rails 3.1.0.rc2。 escape_javascript 中有一个错误,该错误在发布后立即修复 (https://github.com/rails/rails/issues/1553),但尚未发布。同时,您可以恢复到 3.1.0.rc1,也可以使用以下代码向您的项目添加初始化程序:

module ActionView::Helpers::JavaScriptHelper
def escape_javascript_with_workaround(javascript)
escape_javascript_without_workaround(javascript.try(:to_str)).html_safe
end

alias_method_chain :escape_javascript, :workaround
end

更新:

Rails 3.1.0.rc3 was released today这解决了这个问题。

关于javascript - Rails 3.1 escape_javascript 在 Rails 3.0 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6284923/

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