我有这个类:
# app/events/new_request.rb
class Events::NewRequest
end
我将该文件夹添加到自动加载中:
# config/application.rb
config.autoload_paths += %W( events/ )
当执行 rails c
命令时:
> Events::NewRequest
NameError: uninitialized constant Events
事实上,如果我在定义类时不使用命名空间“Events”,它可以成功地自动加载类。
events
文件夹是一个根目录,或者是其他术语,我尝试了一下,通过执行app/events/events/new_request.rb
成功了。 - Eyeslandicmodels/events/new_request.rb
下。 - Eyeslandicapp/anything_in_app/events
中添加一个events.rb
文件,即使Module
或Class
是空的,因为它有助于Autoload
声明命名空间。 - engineersmnkyconfig.autoload_paths += [config.root.join('app')]
是解决方法。 - max