Имена атрибутов Dasherize с сериализаторами JSONAPI-RB

Я перехожу с AMS на jsonapi-rb для своего сериализатора JSON-API.

Мой вопрос касается имен атрибутов в контексте сериализации. Есть ли способ автоматически заменить подчеркивание (some_attribute) в имени атрибута на тире (some-attribute), чтобы имена атрибутов отображались как штрихованные в JSON.


person Syl    schedule 08.09.2020    source источник


Ответы (1)


У меня была такая же проблема, и в итоге я нашел некоторую документацию в исходный код

Расширение для обработки автоматического форматирования ключей атрибутов/отношений.

@example
class SerializableUser ‹ JSONAPI::Serializable::Resource
extend JSONAPI::Serializable::Resource::KeyFormat
key_format -›(key) { key.camelize }.

атрибут :имя_пользователя. has_many :close_friends
end
=› изменит сериализованные ключи на 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
person chriswoodford    schedule 20.10.2020