блок?

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

У меня есть таблица с 5 столбцами (не включая метки времени и id), 3 из которых различны, и 2, которые будут обновлены. 3 отличия, которые я найду или создаю: room_id, date и source. Другие 2 - это цены и доступные места (они меняются ежечасно, ежедневно и т. Д.)

У меня вопрос, должен ли я сначала найти или создать запись, затем обновить (или создать) цену и споты или я могу сделать все это сразу? Вы можете видеть два способа, которыми я делаю это сейчас, и я не уверен, действительно ли это делает то, что я ожидаю.

Кроме того, есть ли недостаток, чтобы сделать find_and_create_by, как это?

Спасибо

  private

  def self.parse_data(params,data)
    data.beds.each do |bed|
      room = Room.find_or_create_room(bed.title, params[:id])

      #find clones somehow
      #puts bed.nights.first.price
      bed.nights.each_with_index do |night,index|
        available = Available.find_or_create_by_room_id_and_bookdate_and_source(
          :room_id => room.id, 
          :bookdate => (params[:date].to_date)+index, 
          :source => data.class.to_s#,
          #:price => night.price
        )
        #available.price = night.price
        #available.spots = night.spots
        #available.save
      end

    end

Ответы на вопрос(2)

Ваш ответ на вопрос