Неверное имя класса выбрано ActiveRecord - PullRequest
2 голосов
/ 24 августа 2010

Hay поддерживающий разработчик,

Когда я вызываю @chapter.articles, rails выдает следующую ошибку:

uninitialized constant Sommaire::Chapter::Article

Событие, если я укажу : class_name => "Sommaire :: Article" , это дает:

uninitialized constant Sommaire::Chapter::Sommaire::Article

Поскольку я относительно новичок в рельсах (3.0.0), это потеряло меня!

Заранее спасибо за помощь. JD

Ниже код из классов
в Sommaire.rb

class Sommaire < ActiveRecord::Base
  has_many :chapters
end

in sommaire / chapter.rb

class Sommaire::Chapter < ActiveRecord::Base
  include ItemBase

  def self.table_name
    'sommaire_chapters'
  end

  belongs_to :sommaire
  has_many :articles, :class_name => "Sommaire::Article"
  validates_presence_of :title, :description

end

in sommaire / article.rb

class Sommaire::Article < ActiveRecord::Base

  include ItemBase

  def self.table_name
    'sommaire_articles'
  end

  belongs_to :chapter

end

1 Ответ

3 голосов
/ 24 августа 2010

Стоит попробовать class_name => '::Sommaire::Article' (примечание, предшествующее ::), чтобы указать, что путь Sommaire находится в корневом пространстве имен.

Возможно, что существует некоторое противоречие между пространством имен Sommaire и моделью Sommaire, и в этом случае вы можете захотеть переименовать одно или другое.

...