自rails 3.2.9以来,我无法在子文件夹中存储模型。在我的应用程序中,我有这棵树:
models
-type_models
-assets
-user
-concerns
同样在application.rb中有
config.autoload_paths += Dir["#{config.root}/app/models/*"]
所有事情都没事,直到rails 3.2.9。现在我有“未知常量”错误。 我不想命名大量模型并修复所有应用程序以使用命名空间模型。
Warning: Error loading /var/www/my_app/app/models/type_models/context_type.rb:
uninitialized constant TypeModels::ContextType
file context_type.rb:
class ContextType ... end
答案 0 :(得分:0)
尝试使用:
config.autoload_paths += Dir["#{config.root}/app/models/**/"]
答案 1 :(得分:0)
config/application.rb
中的:
config.autoload_paths += %W(type_models assets user concerns).map { |folder| "#{config.root}/app/models/#{folder}"}
models/type_models/context_type.rb
中的:
class TypeModels::ContextType < ActiveRecord::Base
...
end
重新启动Rails并完成所有设置!
答案 2 :(得分:-1)
将class ContextType ... end
包裹到模块:
module TypeModels
class ContextType
# blah blah
end
end