我是RoR的新手,需要一些帮助。
我有2个主模型:
我有1个表(property_facility)链接父表, 一个公寓可以拥有很多设施,一个设施可以属于 对很多公寓来说,我试过这个:
has_many :facilities, through: :property_facilities
accepts_nested_attributes_for :property_facilities
has_many :apts, through: :property_facilities
accepts_nested_attributes_for :property_facilities
belongs_to :apt
belongs_to :facility
不知怎的,我不能让它工作,它给我一个错误
找不到名称`property_facilities'的关联。它已被定义了吗?
我正在使用rails 4.2.7
答案 0 :(得分:1)
您应该接收associations
,与模型名称相同,
每当模型具有一对多关系时,关联应该是复数名称。(例如:has_many)
对于一对一的关联应该是单一的名称。(例如:has_one,belongs_to)
Apt模型:
class Apt < ActiveRecord::Base
has_many :property_facilities
has_many :facilities, through: :property_facilities
accepts_nested_attributes_for :property_facilities
end
设施模型:
class Facility < ActiveRecord::Base
has_many :property_facilities
has_many :apts, through: :property_facilities
accepts_nested_attributes_for :property_facilities
end
property_facility模型:
class PropertyFacility < ActiveRecord::Base
belongs_to :apt
belongs_to :facility
end