我正在尝试将API响应作为lowerCamelCase返回,但它无法正常工作,我需要为所有控制器/字段执行此操作,因此我需要整个项目的解决方案。
我尝试了很多东西,包括这个(http://brentvatne.ca/automatic-casing-activemodel-serializer/)告诉我将Activemodel配置为lower_camel,如下所示
ActiveModel::Serializer.config.key_format = :lower_camel
但这不起作用,它返回以下json
{
"users": [{
"id": "56b110089c28691b84a3bd73",
"first_name": "Lucas"
}]
}
我需要将first_name转换为firstName。
版本:
rails -v
Rails 4.2.5
ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [i386-mingw32]
宝石
active_model_serializers (0.10.0.rc4)
rails-api (0.4.0)
我的ember App识别JSON,但我不想在JS上使用蛇案例变量
答案 0 :(得分:6)
轰!我找到了!我不得不深入研究AMS回购(并最终偶然发现了一篇有用的自述文件),但这里是为了v0.10:
ActiveModelSerializers.config.key_transform = :camel_lower
将它放在初始化器中。
还有其他选项::dash
,:camel
,:underscore
,:unaltered
和nil
答案 1 :(得分:1)
在项目中搜索key_format
,以防某些地方被覆盖。
请在控制台中试用,尝试明确设置key_format
以确保可行(MySerializer.new(object, key_format: :lower_camel).as_json
)
如果它没有帮助,您可以在此处提供代码示例,了解如何使用序列化程序。
答案 2 :(得分:1)