Общая картина: я создаю приложение для исторического отслеживания временных событий. Я настраиваю его с помощью четырех основных моделей: Пользователи, События, Истории и Изображения. Идея состоит в том, что любой пользователь может создать событие и добавить истории и/или изображения в свое или любое другое событие. Но и Истории, и Изображения всегда привязаны к определенному Событию, а любая другая модель принадлежит создавшему ее Пользователю (для целей фильтрации и редактирования)
Общая структура ассоциаций будет примерно такой:
class User < ActiveRecord::Base
has_many :events
has_many :stories
has_many :images
end
class Event < ActiveRecord::Base
belongs_to :user
has_many :stories
has_many :images
end
class Story < ActiveRecord::Base
belongs_to :user
belongs_to :event
end
class Image < ActiveRecord::Base
belongs_to :user
belongs_to :event
end
Я новичок в Rails, и у меня практически нет контроля над более сложными ассоциациями, такими как many_to_many, through: или as:
Мой вопрос заключается в том, является ли этот набор ассоциаций оптимальным или его можно улучшить, комбинируя их по-другому?