2013-12-21 4 views
-2

В моей базе данных У меня есть рейсы, которые образованы двумя авиабилетами с обеих сторон. Итак, чтобы создать объект полета, я должен создать два билета с обеих сторон. Билеты имеют поле в базе данных «направление полета» с двумя значениями: 1) «там» 2) «от». Я не могу понять, как создать форму, где я могу создать два билета с разными сторонами за один раз.Должен ли я создать две аналогичные таблицы или одну?

ответ

0

Вы можете достичь этого, используя обратный вызов в своей модели Flight. Этот обратный вызов будет выполнен после создания Полета (= инициализирован и сохранен в базе данных).

class Flight 
    has_many :tickets 
    ... 
    after_create :create_tickets 

    def create_tickets 
    tickets.create(flight_direction: 'from') 
    tickets.create(flight_direction: 'there') 
    end 
end 

Это автоматически создаст две записи билета в базе данных, которые связаны с записью Flight.

+0

Спасибо за помощь! Но я хочу два создать два билета из одной формы, пока я заполняю данные о билетах. Что-то вроде этого: класса билетов Защиту нового ticket_there = Ticket.new (flight_direction: 'есть') ticket_back = Ticket.new (flight_direction: 'назад') конец конца – Igor

Смежные вопросы