Я пытаюсь выяснить, как наилучшим образом создать ассоциации для следующих моделей:
- Пользователь
- Категория
- Пост
- Комментарии
Вот требования, которые я пытаюсь выполнить:
- Пользователь может иметь много сообщений
- Сообщение принадлежит пользователю
- Сообщение может иметь много комментариев
- Комментарий принадлежит сообщению
- Сообщение может принадлежать категории
- У пользователя НЕ много категорий,(Количество категорий фиксировано и одинаково для всех пользователей)
- В категории может быть много сообщений
С точки зрения маршрутизации я хотел бы иметь возможность доступа кразмещать сообщения в определенной категории для конкретного пользователя.Например:
http://domain.com/users/1/categories/1/posts
Поскольку нет прямой связи между пользователем и категорией, я не совсем уверен, как лучше установить ассоциации.И я полностью потерян, как настроить маршруты.
Вот что я имею для своих моделей:
class User < ActiveRecord::Base
has_many :posts
end
class Category < ActiveRecord::Base
has_many :posts
end
class Post < ActiveRecord::Base
belongs_to :user
belongs_to :metric
has_many :comments
end
class Comments < ActiveRecord::Base
belongs_to :post
end
Это тот случай, когда я должен использовать has_many: сквозные отношения?Или что-то более сложное, например, полиморфные ассоциации?Заранее спасибо!