[英]ActiveModel Serializers two level attributes
在我的rails項目中,我為用戶提供了一個串行器:
class UserSerializer < ActiveModel::Serializer
attributes ...
has_one :project
has_many :sessions
end
一個用於會話:
class SessionSerializer < ActiveModel::Serializer
attributes ...
belongs_to :user
end
因此,如果我從任何控制器返回會話:
render json: session
我得到類似的東西:
{ "session": {
"user: { ... }
...
}
但是用戶不包含該項目,因為我猜它太深了,那么我該如何包含它?
您可以配置AMS
default_includes
以進行更深層的嵌套
# config/initializers/active_model_serializer.rb
ActiveModel::Serializer.config.default_includes = '**'
或者,您可以嘗試提供include
選項以render
方法:
render json: session, include: ["user.project"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.