【发布时间】:2018-04-12 09:36:28
【问题描述】:
我有User 和has_many :sessions 的模型。但是对于一个特定的请求,我只想发送一个基于请求设备平台(iOS、Android)的会话。
问题是我有单独的UserSerializer 和UserSessionSerializer,我想将UserSessionSerializer 作为UserSerializer 中的选项传递给:session 字段。像这样:
# UsersController
render json: @user, serializer: UserSerializer, session: @session # @user's session founded by platform
# UserSerializer
attributes :id, :email, :username, :session
def session
@instance_options[:session], serializer: UserSessionSerializer
end
这是不可能的,因为据我所知,我只能在 has_one 和 has_many 中传递序列化程序。但我不想用has_many 以 JSON 格式呈现所有用户会话,只创建一个。
感谢您的帮助!
【问题讨论】:
标签: ruby-on-rails active-model-serializers