【发布时间】:2020-10-12 17:40:32
【问题描述】:
我想利用 AMS 创建 json 数据,以在我的测试套件中作为 GraphQL 变量传递。显然,它支持:camel_lower,它将像:some_field 这样的哈希键转换为:someField,但我似乎无法让它工作。以下是相关代码:
/config/initializers/active_model_serializers.rb:
ActiveModelSerializers.config.key_transform = :camel_lower
/app/serializers/service_serializer.rb:
class ServiceSerializer < ApplicationSerializer
attributes :id, :name, :time_increment
end
rails 控制台:
ActiveModelSerializers.config.key_transform
=> :camel_lower
s = Service.new(name: 'Test', time_increment: 10)
=> #<Service id: nil, name: "Test", time_increment: 10, created_at: nil, updated_at: nil>
ss = ServiceSerializer.new(s)
=> #<ServiceSerializer:0x00007f3771dd9dc0 @object=#<Service id: nil, name: "Test", time_increment: 10, created_at: nil, updated_at: nil>, @instance_options={}, @root=nil, @scope=nil>
ss.as_json
=> {:id=>nil, :name=>"Test", :time_increment=>10}
我期待的结果是:
=> {:id=>nil, :name=>"Test", :timeIncrement=>10}
【问题讨论】:
标签: ruby-on-rails active-model-serializers camelcasing