【问题标题】:activemodel return json with associated model dataactivemodel 返回带有关联模型数据的 json
【发布时间】:2014-05-12 21:14:11
【问题描述】:

在 Rails 4 中,我不知道如何同时获取模型和关联模型。

例如,我有一个包含多个消息的用户模型

以下代码可以正常工作。

@user = User.find 29, include: :messages
@messages = @user.messages

但是,当我尝试在 json 中返回带有 @messages 的 @user 时

render :json @user

返回结果不包含@messages,只返回@user数据。

我可以做的一个解决方法是用

构造一个哈希
{user: @user, messages: @messages}

但问题是消息没有嵌套或关联到用户。

是否有一个 activemodel/activerecord 内置方法来以更简单的方式呈现关联数据?

【问题讨论】:

    标签: activerecord ruby-on-rails-4 rails-activerecord activemodel


    【解决方案1】:

    与往常一样,rails 方面的文档非常糟糕。您需要做的是调用带有选项的to_json 或覆盖模型to_json 方法:http://apidock.com/rails/ActiveRecord/Serialization/to_json

    【讨论】:

    • 谢谢。我不知道 to_json 有这些选项可以设置。
    猜你喜欢
    • 1970-01-01
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 2017-06-21
    • 2023-03-28
    相关资源
    最近更新 更多