我有以下类层次结构:
class User < ActiveRecord::Base
has_many :projects
end
class Project < ActiveRecord::Base
belongs_to :user
has_many :project_personas
has_many :personas, through: :project_personas
end
class ProjectPersona < ActiveRecord::Base
belongs_to :project
belongs_to :persona
end
class Persona < ActiveRecord::Base
end
我试图让用户像JSON一样:
render json: @user.to_json(
include: {
projects: {
include: :personas
}
})
什么不起作用。有效的是:
render json: @user.to_json(
include: {
projects: {
include: {
project_personas: {
include: :persona
}
}
}
})
但我不想拥有此project_personas
级别。
我该怎么办?
答案 0 :(得分:0)
我想我理解你的问题,但你介意提供更多信息吗?
你想要json中的对象及其关系吗?
@user = User.where(:persona =&gt;'foo') @ user.to_json
答案 1 :(得分:0)
哦,这个问题很简单。我只需要包含项目。所以
User.includes(projects: :personas).find_by(guid: '...')
然后我得到了包含角色的项目。