Здравствуйте, коллеги-разработчики!Недавно я играл с Rails 3.0, и после долгих исследований я немного застрял.Я хочу знать, какой подход или решение является лучшим в моем случае (я пока не смог найти ответ).Итак, то, что я пытаюсь достичь, - это просто и прямо.
Я хочу сделать что-то вроде этого:
class User < ActiveRecord::Base
has_many :feeds
has_many :casts, :through => :feeds
end
class Feed < ActiveRecord::Base
has_many :users
has_many :casts
end
class Cast < ActiveRecord::Base
belongs_to :feed
end
Так что в конце мне нужно иметь такие методы, как User.first.feeds, чтобы получить все пользовательские фиды, и User.first.casts, чтобы получать все пользовательские трансляции через его / ее фиды.Также было бы неплохо иметь Feed.first.casts и Feed.first.users.Довольно просто, правда, но мне также трудно создавать миграции для того, чего я пытаюсь достичь.
Я знаю, что приведенный выше код не будет работать - я играл с нимтак что это просто концепция того, чего я пытаюсь достичь.
В основном мои вопросы таковы: должен ли я сделать это с помощью модели соединения или использовать области видимости? (также не могли бы вы дать фрагмент кода) и как это сделать?Я делаю миграцию для этого?
Спасибо, и извините, я не смог найти много информации в Интернете об этом простом случае.
Редактировать: has_and_belongs_to_many для пользователя и Feed не будет работать в моем случае, потому что он не будет работатьпозвольте мне иметь @ user.casts, он дает только @ user.feeds и @ feed.users