【发布时间】:2016-01-14 15:17:53
【问题描述】:
我有User (name:string, email:string, admin_id:integer) 模型和admin_profile (id:integer, type:string, address:text, skills:string) 模型
如果 admin_id 存在,则用户 has_one admin_profile。
这是序列化程序
class UserSerializer < ActiveModel::Serializer
attributes :name, :email, :admin_id
has_one :admin_profile, :if => :admin_id?
end
问题是,当我呈现用户时,我只能从 api 获取 id 和 type。如果用户是管理员,有没有办法在用户中包含所有 admin_profile 属性?
【问题讨论】:
-
您可以使用
attributes :name, :email, :admin_profile来包含admin_profile。如果用户没有 admin_profile,则 JSON 响应的条目admin_profile将保持为空 -
成功了,谢谢
标签: ruby-on-rails active-model-serializers