【发布时间】:2011-05-14 22:56:11
【问题描述】:
我使用 json 渲染一些对象:
def index
if user_signed_in?
@todos = current_user.todos.find_all()
render :json => @todos
else
return nil
end
end
它实际上是这样做的,但是有一个问题。我在 json 输出周围得到方括号 [],并且一些插件或 json 查看器因此无法读取它。这里有一些示例输出:
[{"todo":{"name":"Test todo","created_at":"2010-11-24T07:40:07Z","updated_at":"2010-11-24T07:40:07Z","done":0,"id":1,"user_id":1}},{"todo":{"name":"Ali Test","created_at":"2010-11-24T07:40:30Z","updated_at":"2010-11-24T07:40:30Z","done":0,"id":2,"user_id":1}}]
提前致谢!
【问题讨论】:
-
find_all 返回一个数组,所以这正是您应该期待的 JSON。
-
啊,好吧。那么我怎样才能渲染所有实际有这些数组括号的条目呢?
-
@todos.each{|t| t.to_json}会给你一个可以单独渲染的 json 对象数组。 -
@todos.each{|t| t.to_json}在 jbuilder 视图中的 rails 4.2.5 中完美运行。谢谢 aceofspades!
标签: ruby-on-rails json rendering