RubyonRails在应用程序Erb文件中的Javascript中嵌入Ruby代码
我需要帮助在application.html.erb布局文件的脚本标记中显示rails助手方法的输出。 我将以下代码放在结束html标记之前:RubyonRails在应用程序Erb文件中的Javascript中嵌入Ruby代码,javascript,ruby-on-rails,ruby,ruby-on-rails-4,ember.js,Javascript,Ruby On Rails,Ruby,Ruby On Rails 4,Ember.js,我需要帮助在application.html.erb布局文件的脚本标记中显示rails助手方法的输出。 我将以下代码放在结束html标记之前: <script> App.ready = function() { App.initApp(jQuery.parseJSON("<%= current_user_json %>")); } </script> App.ready=函数(){ App.initApp(jQuery.pa
<script>
App.ready = function() {
App.initApp(jQuery.parseJSON("<%= current_user_json %>"));
}
</script>
App.ready=函数(){
App.initApp(jQuery.parseJSON(“”);
}
此当前用户是应用程序控制器文件中的一个助手方法
上述代码在浏览器(查看页面源代码)中产生的输出为:
App.ready=函数(){
App.initApp(jQuery.parseJSON)(“{”id“:3,“email”:”user5@user.com“,”用户名“:null}”);
}
正确的输出应为:
<script>
App.ready = function() {
App.initApp(jQuery.parseJSON('{"id":3,"email":"user5@user.com","username":null}'))
}
</script>
App.ready=函数(){
App.initApp(jQuery.parseJSON(“{”id“:3,“email”:”user5@user.com“,”用户名“:null}'))
}
如果有人能帮我,我真的会从过去几天我一直试图解决的问题中解脱出来。改变这个:
<%= current_user_json %>
为此:
<%= current_user_json.html_safe %>
请注意,您必须确保正确转义json。例如,如果您的当前用户\u json
碰巧有一个字段中有引号,则必须转义该引号。如果你不逃走,那么你所做的是黑客的典型攻击向量,所以小心行事。 < P>改变:
<%= current_user_json %>
为此:
<%= current_user_json.html_safe %>
请注意,您必须确保正确转义json。例如,如果您的当前用户\u json
碰巧有一个字段中有引号,则必须转义该引号。如果你不逃走,那么你所做的是黑客的典型攻击向量,所以小心行事。 < P>改变:
<%= current_user_json %>
为此:
<%= current_user_json.html_safe %>
请注意,您必须确保正确转义json。例如,如果您的当前用户\u json
碰巧有一个字段中有引号,则必须转义该引号。如果你不逃走,那么你所做的是黑客的典型攻击向量,所以小心行事。 < P>改变:
<%= current_user_json %>
为此:
<%= current_user_json.html_safe %>
请注意,您必须确保正确转义json。例如,如果您的当前用户\u json
碰巧有一个字段中有引号,则必须转义该引号。如果你不逃走,那么你所做的是黑客的典型攻击向量,所以小心行事。< /P> < P>试试这个
<%= raw current_user_json.to_json %>
试试这个
<%= raw current_user_json.to_json %>
试试这个
<%= raw current_user_json.to_json %>
试试这个
<%= raw current_user_json.to_json %>
有用吗?你好@spickermann你的答案是正确的!
有效吗?你好@spickermann你的答案是正确的!
有效吗?你好@spickermann你的答案是正确的!
有效吗?你好@spickermann你的答案是正确的!您好@joelparkerhenderson,感谢您快速、帮助和准确的回复。我对“攻击向量”不太熟悉。你能帮我指出一些在线资源,在那里我可以阅读和理解更多关于它们的信息,以保护代码不受影响。不客气。要了解攻击向量,关键的想法是,你混合了不同类型的字符串,一些字符可能有特殊的含义,干扰一些字符串。谷歌搜索“跨站点请求伪造”,你会看到很多例子。嗨@joelparkerhenderson,谢谢你快速、有用和准确的回复。我对“攻击向量”不太熟悉。你能帮我指出一些在线资源,在那里我可以阅读和理解更多关于它们的信息,以保护代码不受影响。不客气。要了解攻击向量,关键的想法是,你混合了不同类型的字符串,一些字符可能有特殊的含义,干扰一些字符串。谷歌搜索“跨站点请求伪造”,你会看到很多例子。嗨@joelparkerhenderson,谢谢你快速、有用和准确的回复。我对“攻击向量”不太熟悉。你能帮我指出一些在线资源,在那里我可以阅读和理解更多关于它们的信息,以保护代码不受影响。不客气。要了解攻击向量,关键的想法是,你混合了不同类型的字符串,一些字符可能有特殊的含义,干扰一些字符串。谷歌搜索“跨站点请求伪造”,你会看到很多例子。嗨@joelparkerhenderson,谢谢你快速、有用和准确的回复。我对“攻击向量”不太熟悉。你能帮我指出一些在线资源,在那里我可以阅读和理解更多关于它们的信息,以保护代码不受影响。不客气。要了解攻击向量,关键的想法是,你混合了不同类型的字符串,一些字符可能有特殊的含义,干扰一些字符串。谷歌搜索“跨站点请求伪造”,你会看到很多例子。Hi@pkrawat1谢谢你的精彩回复,如果helper方法没有设置为输出json,你的答案应该是正确的。大家好,再次感谢。您好@pkrawat1谢谢您的精彩回复,如果helper方法没有设置为输出json,您的答案应该是正确的。大家好,再次感谢。您好@pkrawat1谢谢您的精彩回复,如果helper方法没有设置为输出json,您的答案应该是正确的。大家好,再次感谢。您好@pkrawat1谢谢您的精彩回复,如果helper方法没有设置为输出json,您的答案应该是正确的。所以,干杯,再次感谢。