[英]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.