如何在Active Model Serializer .10中通过构造函数管理根元素

时间:2018-04-08 01:55:32

标签: ruby-on-rails active-model-serializers

我称之为AMS:

  def me
      render json: current_user, serializer: UserProfile2Serializer, adapter: :json
  end

我想在Postgres数据库中获得一个用于缓存的版本。我这样做:

json = UserProfile2Serializer.new(user)

但我需要指定adapter: :json。我怎么做?

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

my_hash = ActiveModelSerializers::SerializableResource.new(user, serializer: UserProfile2Serializer, adapter: :json).as_json
render json: my_hash

根据docs

  

在控制器之外,规则与记录完全相同。例如:

render json: MyModel.new(level: 'awesome'), adapter: :json
  

将序列化为与

相同
ActiveModelSerializers::SerializableResource.new(MyModel.new(level: 'awesome'), adapter: :json).as_json