has_and_belongs_to_many和has_many_through在同一型号上

时间:2013-06-22 16:58:24

标签: ruby-on-rails

在模型上建立has_and_belongs_to_many:关联以及has_many through:关系是否可以接受?例如,我有三个模型FacilityAthleteEvent

运动员拥有并属于许多设施,反之亦然。我需要允许工厂创建属于设施和运动员的事件。所以我有以下内容。

class Athlete < ActiveRecord::Base
  attr_accessible :age, :email, :facility_id, :name
  has_and_belongs_to_many :facilities
  has_many :events
  has_many :facilities, :through => :events
end

class Facility < ActiveRecord::Base
  attr_accessible :name, :contact_email, :contact_name, :telephone
  has_and_belongs_to_many :athletes
  has_many :events
  has_many :athletes, :through => :events
end

class Event < ActiveRecord::Base
  attr_accessible :athlete_id, :facility_id, :rfd250, :rfd50, :rfd85
  belongs_to :athlete
  belongs_to :facility
end

我希望这个设置是来自Facilities#Show,我可以创建与特定设施相关的新运动员(和Athle_facilities表)。之后我只能展示与工厂相关的运动员,并为他们创造新的活动。

这是解决问题的错误方法吗?

0 个答案:

没有答案