假设我有两个模型Event
和Person
。
很多人参加活动,一个人也可以参加很多活动。
class Event < ActiveRecord::Base
has_and_belongs_to_many :people
end
class Person < ActiveRecord::Base
has_and_belongs_to_many :events
end
create_table "events_people", :id => false, :force => true do |t|
t.integer "event_id"
t.integer "person_id"
end
问题是一个或多个speakers
呈现了一个事件。因此,对于特定的event
,我们应该有people
参与该活动,还有一个或多个speakers
当然也是人。
我该怎么做?谢谢。
答案 0 :(得分:1)
试试这个:
class Event < ActiveRecord::Base
has_and_belongs_to_many :people
has_and_belongs_to_many :speakers, :class_name => "Person"
end
您将拥有一个与events_speakers
和event_id
匹配的person_id
联接表(这将指向people
表中的ID)。