activemodel返回带有关联模型数据的json

时间:2014-05-12 21:14:11

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

在rails 4中,我无法弄清楚如何一起获取模型和相关模型。

例如,我有一个用户模型has_many消息

以下代码正常运行。

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

然而,当我尝试在json

中使用@messages返回@user时
render :json @user

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

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

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

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

是否有activemodel / activerecord buildin方法以更简单的方式呈现关联数据?

1 个答案:

答案 0 :(得分:1)

像往常一样,rails侧的文档非常糟糕。您需要做的是拨打电话to_json和选项,或覆盖模型to_json方法:http://apidock.com/rails/ActiveRecord/Serialization/to_json