В приложении, над которым я сейчас работаю, я застрял в настройке связей между 3 моделями для обеспечения ссылочной целостности.У меня есть модель событий, модель здания и модель комнаты.Ассоциация в реальной жизни довольно интуитивна.Событие может быть только в одном здании и одной комнате.В здании может быть несколько комнат.
Вот то, что я сейчас настроил.Однако как События могут указать свою комнату, если они принадлежат Зданиям, а внешний ключ для Комнаты находится в таблице Событий?Это где вы используете отношение has_many: through?Рекомендуется ли хранить внешние ключи здания и комнаты в таблице событий, поскольку комнаты принадлежат зданиям?А как насчет условных отношений, которые требуют указания здания, прежде чем разрешить указание комнаты (в некоторых зданиях есть 2 комнаты, в других, например, 20)
Извините, я так неясен по этому поводу.Заранее спасибо за помощь!
class Event < ActiveRecord::Base
belongs_to :building
end
class Building < ActiveRecord::Base
has_many :events
has_many :rooms
end
class Room < ActiveRecord::Base
belongs_to :building
end