2013-04-18 2 views
0

Я пишу приложение Rails.Ссылка на модель в подкаталоге в рельсах

Моя модель дерево выглядит примерно так:

models/ 
|- user.rb 
|- ... 
|- forum/ 
    |- thread.rb 
    |- forum.rb 

Пользователь имеет много потоков.

Когда я пытаюсь это:

has_many :forum_threads 

Я получаю следующее сообщение об ошибке при попытке передать его:

uninitialized constant User::ForumThread 

Однако, когда я пытаюсь это:

has_many :threads 

Я получаю следующая ошибка:

undefined method `scoped' for Thread:Class 

Что я сделал не так? Что может быть причиной этого?

+0

Темы является зарезервированной работой в рельсах (http://latheesh.com/2010/02/02/rails-reserved-words/). – spullen

+0

Вы добавили пространство имен к моделям в каталоге форума? как в 'Forum :: Thread'. – spullen

+0

@spullen Да, у меня есть. Этот код был сгенерирован с использованием 'rails generate'. –

ответ

0

Мне удалось решить эту проблему. Я только должен был добавить: class_name спецификатор к has_many decleration:

has_many :forum_threads, class_name: 'Forum::Thread' 
Смежные вопросы