2016-01-14 26 views
2

我有User (name:string, email:string, admin_id:integer)模型和admin_profile (id:integer, type:string, address:text, skills:string)模型沒有得到所有屬性的HAS_ONE串行

用戶HAS_ONE admin_profile如果admin_id存在。

這裏是串行

class UserSerializer < ActiveModel::Serializer 
    attributes :name, :email, :admin_id 
    has_one :admin_profile, :if => :admin_id? 
end 

的問題是,我只收到ID和類型從API的時候,當我呈現用戶。如果用戶是admin,是否有方法在用戶中包含所有admin_profile屬性?

+1

你可以使用'attributes:name,:email,:admin_profile'來包含'admin_profile'。如果用戶沒有admin_profile,那麼JSON響應的條目「admin_profile」將保持爲空 – MrYoshiji

+0

工作正常,謝謝 – Akadisoft

回答

0

使我的評論以供將來參考答案:

您可以使用attributes :name, :email, :admin_profile以包括admin_profile。如果User沒有admin_profile,則JSON響應的條目admin_profile將保持爲空。

注意的一個新功能剛剛合併了,這不你想什麼:

has_one :admin_profile, if: :is_admin? 

是在主可用,這將很快成爲RC4。

相關問題