Я довольно новичок в Rails, и я был бы очень признателен за некоторые указатели в правильном направлении. Я понимаю плюсы и минусы ИППП.Борьба со сложными ассоциациями активистов рельсов и моделями присоединения
Каковы были бы лучшие методы моделирования AR-отношений с комбинацией однонаправленного наследования и полиморфных ассоциаций в Rails 3.2? Решив использовать оба варианта, будут ли какие-либо важные недостатки этого приложения? Изменили бы Rails 4?
У меня есть следующие модели до сих пор:
class Course
has_many :participants, class_name: 'User'
has_many :events, as: :eventable
end
class User
has_many :events, as: :eventable
has_many :courses
end
class Resource
has_many :events, as: :eventable
end
class Subject < Resource
end
class Location < Resource
end
class Medium < Resource
end
class Event
belongs_to :eventable, polymorphic: true
end
выглядит относительно легко до сих пор, но я борюсь со сложными ассоциациями. Как настроить следующие ассоциации с STI?
- курс может иметь много ресурсов (как предметы/места)
- пользователь может иметь много ресурсов (как предметы/место)
- ресурс может иметь множество пользователей (как контакты)
- в событие само по себе может иметь дополнительные пользователи (как учителей)
- событие само по себе может иметь дополнительные ресурсы (как локаций/предметы/Medias)
Примеры для что я хотел бы извлечь из базы данных
- все события для пользователя
- все события для курса
- все многоборье (пользователей и курс) для участника
- все связанные с ним ресурсы типа место от случая
- всех связанных с ним учителями от случая
- всех ресурсов типа местоположения от курса
- всех ресурсов станда е субъект от пользователя
ТИА и наилучшими пожеланиями
Chris
Я новый пользователь Stackoverflow (но читаю сайт в течение многих лет). Я разочарован тем, что мои первые вопросы отмечены как закрытые. – Chris
Я попытался быть кратким и сделать его общим вопросом относительно ИППП и полиморфных ассоциаций. Чтобы понять проблему, я должен был привести конкретный пример. Я бы подумал, что мой вопрос и первый ответ могут помочь другим людям, которые пытаются отменить связь между ИППП и полиморфными отношениями в Rails. – Chris
Крис, я считаю, что ваш вопрос слишком широк. Было бы лучше, например, показать код, который у вас уже есть, и спросить, как настроить определенную конкретную ассоциацию. Что вы уже пробовали? Ваш вопрос, скорее всего, потребует общих ответов на подходы, которые затем могут генерировать обсуждения и т. Д. Что сделает SO более форума, чем сайт Q & A. – Peter