Ruby on Rails 将 Ruby Code 嵌入 JavaScript 中的 Application Erb 文
Ruby on Rails Embed Ruby Code in Javascript inside Application Erb File
我需要帮助在应用程序.html.erb 布局文件中的脚本标记内显示 rails 帮助程序方法的输出。我将以下代码放在结束 html 标记之前:
<script>
App.ready = function() {
App.initApp(jQuery.parseJSON("<%= current_user_json %>"));
}
</script>
此current_user_json是应用程序控制器文件中的帮助程序方法。
上述代码在浏览器(查看页面源代码)中生成的输出为:
<script>
App.ready = function() {
App.initApp(jQuery.parseJSON("{"id":3,"email":"user5@user.com","username":null}"));
}
</script>
正确的输出应该是:
<script>
App.ready = function() {
App.initApp(jQuery.parseJSON('{"id":3,"email":"user5@user.com","username":null}'))
}
</script>
如果有人能帮助我,我真的会从过去几天试图解决的这个问题中解脱出来。
更改以下内容:
<%= current_user_json %>
对此:
<%= current_user_json.html_safe %>
请注意,您必须确保您的 json 已正确转义。例如,如果您的current_user_json
碰巧有一个带有引号的字段,则必须对该引号进行转义。如果你没有逃脱,那么你正在做的事情是黑客的一个非常典型的攻击媒介,所以要小心。
试试这个
<%= raw current_user_json.to_json %>
相关文章:
- 如何防止jQueryonclick事件中的Ruby方法在页面刷新时执行
- 相当于Ruby中的pull和uniq的Javascript
- 访问嵌入式ruby中的javascript变量
- 椭圆曲线加密与JS中的SJCL和Ruby中的OpenSSL
- 在 NodeJS 中,有没有一种类似于 dependant 的方法:Ruby 中的 :d estroy 用于关联记录
- JavaScript 中的加密和 Ruby 中的解密
- javascript中的非阻塞setTimeout与ruby中的sleep
- 如何使用调用、应用和绑定在Ruby中的对象上强制使用类似于JavaScript的方法
- ruby中的作用域是否被认为像javascript一样具有功能,或者块作用域
- 用于NodeJS的REST表单(如Ruby中的form_for)
- JavaScript有像Ruby中的ARGV那样通过终端行传递参数的方法吗?
- 与JavaScript相比,Ruby中的正则表达式性能较差
- 如何使用Ruby中的Regexp.new()在DB中搜索整数值
- 如何将ruby中的NULL打印到javascript中
- ruby中的递归正则表达式
- Ruby中的JS样式对象引用
- 从ruby中的数据库值填充javascript数组
- ruby中的复选框数组
- 如何从Ruby中的5字加密哈希中找到SHA1加密字符串
- Ruby中的嵌套循环,哈希和数组