我毫不费力地使用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对象?
非常感谢!
我不确定这是原因,但是您也可以尝试使用html_safemethod。ERB可能会转义JSON,因为它认为它不是html安全的。使用字符串时,尝试调用该方法:
html_safe
@object.to_json.html_safe