【发布时间】:2018-09-18 16:23:14
【问题描述】:
我有一个带有模型Book 实例的序列化程序。
我把我的serializer 实例给了
ActiveModelSerializers::Adapter::JsonApi.new(serializer) 类,其中serializer 是我的实例。
上面的方法调用返回了这个
#<ActiveModelSerializers::Adapter::JsonApi:0x000000000b515b48 @serializer=#<BookSerializer:0x0000000008496a30 @object=#<Book id: 8, type: "Book", created_at: "2018-09-18 10:25:55", updated_at: "2018-09-18 10:25:55">, @instance_options={:scope}, @root=nil, @scope=nil, @serializer_class=BookSerializer, @attributes={:id=>8, :email=>"random@exam.com", :author=>"user1", :created_at=>Tue, 18 Sep 2018 10:25:55}, @_config={}>, @instance_options={}, @include_directive=#<JSONAPI::IncludeDirective:0x000000000b515aa8 @hash={}, @options={:allow_wildcard=>true}>, @fieldset=#<ActiveModel::Serializer::Fieldset:0x000000000b5159e0 @raw_fields={}>>
然后我尝试在 Adapter 类实例上调用serializable_hash,如下所示
ActiveModelSerializers::Adapter::JsonApi.new(serializer).serializable_hash
上面的调用返回了这个
{:data=>{:id=>"8", :type=>"books", :attributes=>{:email=>"random@exam.com", :author=>"user1", :"created-at"=>Tue, 18 Sep 2018 10:25:55 UTC +00:00}, :relationships=>{:"book"=>{:data=>{:id=>"15", :type=>"books"}}}}}
以上返回的数据已将created_at转换为created-at。
当我在适配器类实例中调用 serializable_hash 时会发生什么?
【问题讨论】:
标签: ruby-on-rails active-model-serializers