Person(id, name, other fields...)
Event(id, title, ...)
Date(id, date, time, event_id, ...)
Disponibility(id, percent, date_id, person_id, ...)
Конечно, все отношения определены в модели.
У меня есть представление, которое показывает все даты события, это просто. Но я хочу для каждой даты распечатать данные для всех людей, которые доступны для этой даты. На мой взгляд, забыв про шаблон проектирования MVC, я мог бы написать что-то вроде этого:
<% for date in @Dates
available = Disponibility.find_by_date_id(date.id)
for item in available
guy = Person.find_by_id(item.person_id)
%>
Отображение даты и доступных людей ...
Я хочу избежать этого в представлении. Я думаю, что ответ Ориона Эдвардса является ближайшим для того, что мне нужно, но, в этом примере, адрес является пустым полем для таблицы Person? Или как я могу добавить новый атрибут в класс Person?
Хотя, я пропускаю какой-нибудь трюк SQL для этого?