在 Ruby on Rails 中,如何渲染 JSON?
Posted
技术标签:
【中文标题】在 Ruby on Rails 中,如何渲染 JSON?【英文标题】:In Ruby on Rails, how to render JSON? 【发布时间】:2010-07-29 21:51:28 【问题描述】:我尝试了以下方法来响应 AJAX,它可以正常工作(在 HAML 中):
- response.content_type = "application/json"
= render :text => array_data.to_json
但是
- response.content_type = "application/json"
= render :json => array_data.to_json
不起作用。我以为我可以使用
= render :text => array_data.to_json
而不是顶部的前 2 行?
【问题讨论】:
【参考方案1】:= render :json => @object
(你不需要使用 .to_json 方法)
【讨论】:
我也试过= render :json => :data => arrayData
,发现在Firebug中,响应数据部分也是空的。
@retro,在这两种情况下,Firebug 都会显示一个空的响应数据部分。响应头说 Content-length
是 1
为什么要在视图中呈现 json?
因为有一个返回单个条目的部分,我需要遍历一个数组并将部分结果连接起来形成1列,循环3次得到3列,并将其返回为Ajax 的 JSON 数据
如果我的 json 对象不安静怎么办?如果它甚至不是一个变量,而是一个定义在其他地方(如应用程序控制器)的方法呢?以上是关于在 Ruby on Rails 中,如何渲染 JSON?的主要内容,如果未能解决你的问题,请参考以下文章
如何渲染 XML 模板,然后在 Ruby on Rails 3.2.8 中使用 SEND_DATA?
在 Ruby on Rails/JS 中以模式呈现新表单而不是新页面