#ruby-on-rails #serialization
#ruby-on-rails #сериализация
Вопрос:
Есть какой-нибудь способ вернуть has_many :roles
массив вместо объекта?
class UserSerializer < ActiveModel::Serializer
attributes :id, :name, :nickname, :image, :roles
has_many :roles
end
Спасибо.
Ответ №1:
Вы можете создавать свои собственные пользовательские методы в сериализаторе и использовать их в качестве атрибутов
class UserSerializer < ActiveModel::Serializer
attributes :role_names
def role_names
object.roles.map(amp;:name)
end
end
Ответ №2:
Обычно для этого используются включения. Однако я не очень хорошо знаком с использованием сериализаторов.