我不完全了解关联是如何运作的。
我有 3 个模型:
- 电影(:about, :title, :url, :actors, :uploader)
- 演员(:出生,:姓名)
- 关系(:actor_id,:film_id)
关系是电影和演员之间的关联,因此“哪个演员在哪部电影中扮演”。我的老师告诉我,我可以使用http://railscasts.com/episodes/47-two-many-to-many让它变得更容易,但我不知道如何使用它,知道吗?
我不完全了解关联是如何运作的。
我有 3 个模型:
关系是电影和演员之间的关联,因此“哪个演员在哪部电影中扮演”。我的老师告诉我,我可以使用http://railscasts.com/episodes/47-two-many-to-many让它变得更容易,但我不知道如何使用它,知道吗?
我想你想要这样的东西:
class Movie < ActiveRecord::Base
has_many :actors, :through => :relationships
end
class Relationship < ActiveRecord::Base
belongs_to :movie
belongs_to :actor
end
class Actor < ActiveRecord::Base
has_many :movies, :through => :relationships
end
http://guides.rubyonrails.org/association_basics.html#the-has_many-through-association
或者,如果您觉得不必明确定义关系类,您可以简单地使用has_and_belongs_to_many
:
class Movie < ActiveRecord::Base
has_and_belongs_to_many :actors
end
class Actor < ActiveRecord::Base
has_and_belongs_to_many :movies
end