繁体   English   中英

使用response_with包括多个关联

[英]Including multiple associations using respond_with

我有一个在ruby 1.9.3上运行的Rails 3应用程序,具有用户帖子角色模型。 一个用户有很多帖子和角色。

我的routes.rb文件如下所示:

namespace :api, defaults: {format: 'json'} do
  resources :users do
    resources :posts
    resources :roles
  end
end

列出所有用户时,我想在json响应中包括相关的帖子角色。 我找到了一种仅包含其中一个的方法,如下所示:

#users_controller.rb
def index
  @users = User.all        
  respond_with @users, :include => :posts
end

这给了我以下JSON响应

[{
"created_at":"2013-06-17T13:10:59Z",
"id":1,
"username":"foo"
"posts":[ a list of all the users posts ]
}]

但是我想要的是一个看起来像这样的结果:

[{
"created_at":"2013-06-17T13:10:59Z",
"id":1,
"username":"foo"
"posts":[ a list of all the users posts ]
"roles":[ a list of all the users roles ]
}]

我应该如何修改我的代码来实现这一目标?

您可以使用“包括”作为

User.all.to_json(:include => [:posts, :roles])

有关更多信息,请参见http://apidock.com/rails/ActiveRecord/Serialization/to_json

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM