У меня есть базовое приложение для управления событиями в rails 3 - пользователи (модель: пользователь) могут создавать события (модель: событие) как хосты (: событие принадлежит_ пользователю). Другие пользователи могут посещать события (: user has_many: посещаемость,: через =>: посещаемость,: источник =>: событие). Все эти модели и ассоциации работают нормально (хорошее начало).
# the user model
class User < ActiveRecord::Base
has_many :events, :dependent => :destroy
has_many :attendances, :foreign_key => "attendee_id", :dependent => :destroy
has_many :attending, :through => :attendances, :source => :event
end
# the events which users create
class Event < ActiveRecord::Base
belongs_to :user
has_many :attendances, :foreign_key => "event_id",:dependent => :destroy
has_many :guests, :through => :attendances, :source =>:user
end
# the join model for attendances
class Attendance < ActiveRecord::Base
belongs_to :attendee, :class_name => "User" #edit: addedin :class_name... after comment
belongs_to :event, :class_name => "Event"
end
Теперь проблема: у меня есть страница «Управление событиями», где хост должен иметь возможность видеть все запрошенные посещения его событий и принимать или отклонять их посещаемость.
Я могу получить список событий, которые размещены пользователем (<% = render @ user.events%>), но, похоже, не может решить, как вернуть список всех пользователей, которые запросили посещаемость на мероприятиях хостов (чтобы разрешить принимающей стороне принимать или отклонять гостей).
<html>
<% unless @user.events.empty? %> #code on the manage events page
<table class="events" summary="User Events">
<%= render @user.events %>
</table>
<% end %>
</html>
Я уверен, что решение простое, но 2 дня игры и я быстро теряюсь.