Ruby On Rails - Сериализатор активной модели; Создать собственный сериализатор JSON

ruby-on-rails ruby json hash active-model-serializers

1580 просмотра

3 ответа

55 Репутация автора

Как я могу создать JSON с этим сопоставлением ключа и значения?

  • Ключ должен быть атрибутом «id» записи.
  • Значение должно быть атрибутом «имя» записи.

т.е.

[{ "21": "Jason" },
{ "22": "Britney" },
{ "25": "Donald" },
{ "#{id}": "#{name}" }]

Можно ли добиться этого, используя гем Active Model Serializer ?

Автор: Aarón Castro Источник Размещён: 18.07.2016 11:14

Ответы (3)


1 плюс

22641 Репутация автора

Решение

Зачем тебе сериализатор?

users.map{|u| { "#{id}": name }.to_json
Автор: B Seven Размещён: 18.07.2016 11:38

0 плюса

411 Репутация автора

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

Автор: alxibra Размещён: 18.07.2016 11:55

0 плюса

48 Репутация автора

Обратитесь к документации для отношения has_many, но пример может выглядеть так

class OrganizationSerializer < ActiveModel::Serializer
  has_many :users, :key => :id, :serializer => UserSerializer
end

class UserSerializer < ActiveModel::Serializer
  attributes :name
end

Вы можете запустить это с

OrganizationSerializer.new(organization).to_json
Автор: Garden Gnome Размещён: 19.07.2016 05:09
Вопросы из категории :
32x32