Я довольно новичок в Rails, поэтому это может показаться основным вопросом.Ruby on rails many-to many relationship
Я создаю приложение для кино и требую таблиц «Заказы» и «Ticket_Type».
Заказы имеют следующие атрибуты: user_id, show_id, adult_seats, child_seats, concession_seats.
Ticket_Type будет иметь следующие атрибуты: тип, цена.
Эти отношения были бы многими для многих, поскольку в одном бронировании могло быть много типов билетов, например, имея 2 взрослых и 2 детей, а один тип билета, например «Ребенок», мог иметь много заказов.
Но как я могу отобразить это в Ruby on Rails? Или было бы, если бы стол между ними назывался что-то вроде Booking_Ticket, который хранит booking_id и ticket_type_id?
Что мне понадобится для моего приложения, чтобы рассчитать, например, общую стоимость бронирования - так что если в бронировании есть 2 взрослых, 1 уступка и 2 ребенка, а в билетной кассе взрослый стоит 7,50, концессия 6 , а ребенок 5, то общая сумма будет 31.
Загрузить эти данные откуда? Таким образом, вы говорите, что не имеете таблицу 'TicketType', но где будут сохраняться цены? –
Нет, я этого не говорю. Я говорю, что ваша таблица TicketType содержит «статические, реляционные» данные. Вам не нужно связывать его с «Заказом». В методе, где вы рассчитали стоимость, загрузите данные ценообразования через AR-вызов: 'pricing = TicketType.all'. Затем укажите билет при расчете стоимости: 'adult_cost = pricing.find {| p | p.type.eql? ('adult')}. цена * adult_seats' – tagCincy
Хорошо, просто чтобы убедиться, что я на той же длине волны. Имеются книги в виде таблицы и TicketType в виде таблицы, но между ними нет никакой связи. Сохраните данные в типе TicketType, например. Взрослый: £ 10, а затем в модели Bookings.rb есть метод, который получает все цены через 'pricing = TicketType.all', а затем вычисляет стоимость каждого отдельного билета через' pricing.find {| p | p.type.eql? ('adult')}. цена * adult_seats'? –