Как использовать гем стран для создания списка названий стран в формате JSON

Я создаю API для рельсов, и мне нужно отправить всю страну как JSON, используя AMS. Я могу получить страны, но не могу отправить их как JSON. Я получаю сообщение об ошибке: undefined method [] for nil class

def index
  countries = Country.all
  render json: countries, serializer: CountrySerializer
end
class CountrySerializer < ActiveModel::Serializer 
  attributes(:name)
end

Я ожидаю, что ответ JSON будет массивом вроде

[
 England,
 Netherland
]

Я надеялся, что смогу использовать сериализаторы, чтобы переводить имена на разные языки.

🤔 А знаете ли вы, что...
Rails включает в себя генераторы кода, которые позволяют быстро создавать структуру приложения и его компоненты.


1
298
1

Ответ:

Решено

Согласно вашему комментарию, сериализаторы настроены для работы с моделями Rails, а ваши данные поступают из гема countries.

Если все, что вам нужно, это атрибут имени, который вы можете сделать:

def index
  countries = Country.all
  render json: { countries: ISO3166::Country.all.map(&:name) }
end