小编典典

在Rails 3中的JS / ERB模板中处理JSON

ajax

我毫不费力地使用JSON对象和jQuery-rails(jQuery库以及一个特殊的rails.js文件)进行Rails(3)的典型AJAX调用。

但是,在一个控制器中,我想在AJAX调用后在erb模板(create.js.erb)中返回一些JSON。

我已经尝试了控制器中所有事物的组合(@ object.to_json,’[{“ content”:“ hello
world”}]’‘等)以及模板本身(JSON.parse(),单引号,双引号等),但对象会继续这样渲染:

'[{"groups":{},"created_at":"2010-09-21T03:49:34Z" ...

结果,我的jQuery代码无法解析它,并且出现错误。

我需要如何在控制器中准备对象,以及在视图中需要什么样的erb语法才能将其呈现为有效的JSON对象?

非常感谢!


阅读 244

收藏
2020-07-26

共1个答案

小编典典

我不确定这是原因,但是您也可以尝试使用html_safemethod。ERB可能会转义JSON,因为它认为它不是html安全的。使用字符串时,尝试调用该方法:

@object.to_json.html_safe
2020-07-26