Создание нескольких ассоциаций в уже построенной ассоциации - PullRequest
0 голосов
/ 19 июня 2019

Мне нужно построить несколько ассоциаций, у меня есть 1 модель с именем PrecintEvent, и эта модель может иметь много FloorEvents, и у каждой из этих FloorEvents может быть много RoomEvents, мне нужно сохранить все эти ассоциации

class PrecintEvent < ActiveRecord::Base
      has_many :floor_events
    end

class FloorEvent < ActiveRecord::Base
  belongs_to :precint_event
  has_many :room_events
end

class RoomEvent < ActiveRecord::Base
  belongs_to :floor_event
end

params[:alternate_precints] все PrecintEvents

JSON.parse(params[:alternate_precints]).each do |precint|
    #I get all the floors of a PrecintEvent
    floors = Floor.where(precint_id: precint['id']).as_json

    precint = PrecintEvent.new(precint.except('id', '$$hashKey'))

    #Here I build all the FloorEvents of that PrecintEvent
    floors.each do |floor|
      #Here I get all the RoomEvents from 1 FloorEvent
      rooms = Room.where(floor_id: floor['id'])

      #Here I build the association but I need to save each RoomEvents 
      #to each FloorEvent
      precint.floor_events.build(name: floor['name'])
    end

    @event.alternate_place_events.build(event_place: precint)
  end

как я могу это сделать?

...