fast_jsonapi возвращает только первый включенный элемент

#ruby-on-rails #json

#ruby-on-rails #json

Вопрос:

Я использую драгоценный камень fast_jsonapi для обслуживания интерфейса react. У меня есть 2 модели :

 class Store < ApplicationRecord
  has_many :opening_hours
end
  

и

 class OpeningHour < ApplicationRecord
  belongs_to :store
end
  

Я StoreController #new, я просто хочу создать новый магазин 7 дочерних элементов «opening_hours» и отправить соответствующий JSON :

 def new
  store = Brand.find(params[:brand_id]).stores.new()
  [1,2,3,4,5,6,7].map{ |i| store.opening_hours.new(weekday: i) }
  
  render json: StoreSerializer.new(store, options).serializable_hash
end

private
  def options
    @options ||= {include: %i[opening_hours]}
  end
  

Вот мой сериализатор :

 class StoreSerializer
  include FastJsonapi::ObjectSerializer
  attributes :name, :brand_id, :formatted_address, :address_street_number, :address_line1, :address_line2, :address_zip, :address_city, :address_country, :phone, :internal_code

  has_many :opening_hours
end
  

Проблема в том, что в сгенерированном JSON я получаю только первый элемент «opening_hours» :
введите описание изображения здесь

В то время как у меня наверняка есть 7 дочерних элементов в отношениях > opening_hours > data.

Комментарии:

1. Используете ли вы, gem 'fast_jsonapi который больше не поддерживается, или поддерживаемый сейчас gem 'jsonapi_serializer' ?

2. я использую gem 'fast_jsonapi . Вы думаете, что изменение gem решило бы проблему?

3. Стоит попробовать. Он, по крайней мере, поддерживается. Если нет, то вы могли бы поднять проблему на их странице github.