我正在尝试在rails中建立多对多的关系。这是我的第一次尝试,但我很难成功。我希望能够做@ user.properties或@ property.users。
#property.rb
has_many :ownages, :dependent => :destroy
has_many :users, :through => :ownages
#user.rb
has_many :ownages, :dependent => :destroy
has_many :properties, :through => :ownages
#ownages.rb
belongs_to :user
belongs_to :property
当我尝试这个时:
#SomeExampleController
p = Property.find_by_id(4)
p.users
我明白了:
NameError: uninitialized constant Property::Ownage
同样如此:
#SomeExampleController
u = User.find_by_id(1)
u.properties
这也让我:
NameError: uninitialized constant User::Ownage
有人能帮帮我吗?非常感谢你提前,我正在打破这个问题。 : - )
答案 0 :(得分:2)
嗯,ownages.rb是拼写错误?您的型号名称应为单数。所以:
class Ownage<Activerecord::Base
end
Rails会自动将复数结尾添加到模型中。否则你的关系看起来很好。