【发布时间】:2020-10-21 03:39:40
【问题描述】:
我正在为我的 JSON-API 序列化程序从 AMS 迁移到 jsonapi-rb。
我的问题是关于序列化上下文中的属性名称。
有没有办法自动将属性名称中的下划线 (some_attribute) 替换为破折号 (some-attribute),以便属性名称在 JSON 中显示为破折号。
【问题讨论】:
标签: ruby-on-rails-5 json-api jsonapi-rb
我正在为我的 JSON-API 序列化程序从 AMS 迁移到 jsonapi-rb。
我的问题是关于序列化上下文中的属性名称。
有没有办法自动将属性名称中的下划线 (some_attribute) 替换为破折号 (some-attribute),以便属性名称在 JSON 中显示为破折号。
【问题讨论】:
标签: ruby-on-rails-5 json-api jsonapi-rb
我遇到了同样的问题,最后在 source code 中找到了一些文档
用于处理自动键格式的扩展 属性/关系。
@示例
类 SerializableUser 扩展 JSONAPI::Serializable::Resource::KeyFormat
key_format ->(key) { key.camelize }.属性:用户名。 has_many :close_friends
结束
=> 会将序列化的密钥修改为UserName和CloseFriends。
我用dasherize实现了从some_attribute到some-attribute的翻译
例子:
class SerializableUser < JSONAPI::Serializable::Resource
extend JSONAPI::Serializable::Resource::KeyFormat
key_format -> (key) { key.to_s.dasherize }
end
【讨论】: