2015-06-25 8 views
0

У меня есть несколько моделей: Tickets, Seats, Sections, TicketTypes.Есть ли эффективный способ выполнить этот запрос ActiveRecord?

Ticket belongs_to Seat

Seat belongs_to Section

Section belongs_to a TicketType

и TicketType содержит всю информацию о ценах.

На данный момент, чтобы получить некоторую информацию о ценах, мне нужно сделать ticket.seat.section.ticket_type.things_i_need, который выбирает место, затем выполняет другую инструкцию выбора для раздела, затем другую для типа билета.

Есть ли более эффективный способ получить необходимую информацию? Я пробовал использовать joins, merge и includes, но не смог получить необходимую информацию.

+1

Easy. Просто введите билет в тип билета. Это очевидное отношение, не так ли? –

ответ

0

Я не уверен, если вы уже пробовали это, но я думаю, что это будет:

@ticket = Ticket.includes(seat: { section: [:ticket_type] }).find(params[:id]) 
@ticket.seat.section.ticket_type.things_i_need