Я получаю uninitialized constant Project::Forum::Topic
внеинициализированным постоянная Model1 :: Model2 :: Model3
app/controllers/home_controller.rb:46:in `discussions'
У меня есть код ниже, и я конвертировании из rails 2.3.x
в rails 3.2.11
, я имею в виду что-то неправильное в routes
обстановке.
Любая идея Как я могу исправить?
модели
class Project < ActiveRecord::Base
# Relations under project model
has_many :features, :dependent => :destroy
has_many :forums, :class_name=>'Forum::Forum'
has_many :topics, :class_name=>'Forum::Topic', :through=>:forums
class Forum::Forum < Feature
# Relations under forum model
has_many :topics, :class_name => 'Forum::Topic', :dependent => :destroy
class Feature < ActiveRecord::Base
# Relations under feature model
belongs_to :project
class Forum::Topic < ActiveRecord::Base
# Relations under topic model
belongs_to :forum, :foreign_key => :forum_id, :class_name => 'Forum::Forum', :include => :project
home_controller.rb
def discussions
@project ||= Project.find_by_name 'help'
@forums = @project.forums
@topics = @project.topics.recent # HERE I AM GETTING ERRORS
end
routes.rb
scope :home, :controller => "home", :activity => 'read' do
get :discussions, :path => '/forums', :service_type => 'public'
get :forums, :action => "discussions"
end
ошибки
uninitialized constant Project::Forum::Topic
app/controllers/home_controller.rb:46:in `discussions'
Не могли бы вы указать, какие файлы эти классы определены внутри? Я заметил, что вы также пропустили вызов класса перед именами классов. Это действительно так, как этот код? –
@RyanBigg, Обновлено мой вопрос – 2013-03-07 23:12:13