【问题标题】:How can I make associations loaded in rails 3 in JSON?如何在 JSON 中将关联加载到 rails 3?
【发布时间】:2012-01-17 14:19:24
【问题描述】:

在我的 rails 3.1 应用程序中,我有列表,其中有很多任务。所有关联都已正确设置,我可以调用 aList.tasks 来查看列表的任务。但是,当我加载 /lists.json 时,我得到以下输出:

{
created_at: "2011-12-07T21:51:31Z",
id: 1,
title: "Test 1",
updated_at: "2011-12-07T21:51:31Z"
}

因此,列表被序列化为 JSON,但它的“任务”关联不是(任务嵌套在列表下,因此 /list/1/tasks 将获取任务......但仅针对那 1 个列表)。如果我有 500 个列表,我不想调用 500 次来获取每个列表的所有任务 - 我想在获得所有列表时获取所有任务。我该如何设置,以便 JSON 也包含关联?想法?

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 json serialization associations


    【解决方案1】:

    渲染列表时,只需将include: :tasks 添加到to_json

    format.json do
      render json: @list.to_json(include: :tasks)
    end
    

    附:不要忘记新的哈希语法只适用于 ruby​​ >=1.9.2。这是旧语法。

    format.json do
      render :json => @list.to_json(:include => :tasks)
    end
    

    【讨论】:

    • 你先生,太棒了。无法弄清楚确切的语法,所以谢谢!
    猜你喜欢
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    相关资源
    最近更新 更多