Метод отношения один-ко-многим Rails - PullRequest
2 голосов
/ 01 декабря 2011
class Contact < ActiveRecord::Base
    has_many :records
end

class Volunteering::Record < ActiveRecord::Base
    belongs_to :contact
end

rails console
    > Contact.last.records #NameError: uninitialized constant Contact::Record

Если я изменю класс Contact на has_many: волонтерство_records, то получу:

Contact.last.volunteering_records # NameError: неинициализированная константа Contact :: VolunteeringRecord

Мой класс Volunteering :: Record имеет внешний ключ:

Volunteering :: Record.column_names.include? ('Contact_id') # true

Есть предложения?

ОБНОВЛЕНИЕ: Я понял это.Поскольку оно находится в другом пространстве имен, необходимо указать полное имя класса:

:has_many records, :class_name => "Volunteering::Record"

1 Ответ

0 голосов
/ 25 апреля 2012

Измените Volunteering :: Record на Just Record, и ваш пример должен работать просто отлично.Если вы ищете промежуточную таблицу, вы хотите использовать: has_many,: through.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...