has_many: через ассоциацию приводит к NameError - PullRequest
0 голосов
/ 29 сентября 2010

Я пытаюсь установить отношения «многие ко многим» в рельсах. Это моя первая попытка, но мне трудно добиться успеха. Я хочу иметь возможность делать @ 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

Кто-нибудь может мне помочь? Большое спасибо заранее, я ломаю голову над этим. : -)

1 Ответ

2 голосов
/ 29 сентября 2010

Хм, ownages.rb это опечатка?Название вашей модели должно быть в единственном числе.Итак:

class Ownage<Activerecord::Base
end

Rails автоматически добавляет окончание множественного числа к вашей модели.В противном случае ваши отношения выглядят хорошо.

...