我想在app下创建一个自定义目录,并且有一个相应的命名空间,如:
app/my_widgets
和
#app/my_widgets/foo
module MyWidgets
class Foo
#...
end
end
这不起作用。
LoadError: Unable to autoload constant Foo, expected /project_dir/app/my_widgets/foo.rb to define it.
我在打电话:
MyWidgets::Foo.new()
我猜这可能是因为rails从app/
的子目录中自动加载常量...但是,添加:
config.autoload_paths += %W{#{config.root}/app"}
不按照我的想法修复它。这是一个失败的原因吗?
我尝试将my_widgets/
移动到其他地方,例如app下的'services /',然后一切都按预期工作。
有没有办法拥有命名空间&直接在app/
下的相应目录?