0

我不完全了解关联是如何运作的。

我有 3 个模型:

  1. 电影(:about, :title, :url, :actors, :uploader)
  2. 演员(:出生,:姓名)
  3. 关系(:actor_id,:film_id)

关系是电影和演员之间的关联,因此“哪个演员在哪部电影中扮演”。我的老师告诉我,我可以使用http://railscasts.com/episodes/47-two-many-to-many让它变得更容易,但我不知道如何使用它,知道吗?

4

1 回答 1

3

我想你想要这样的东西:

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
于 2013-04-03T11:16:34.093 回答