Rails 5:使用自定义文件夹无法自动加载

时间:2017-04-28 21:55:39

标签: ruby-on-rails ruby

我有这堂课:

# 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”,它会成功自动加载类。

1 个答案:

答案 0 :(得分:2)

module Sandbox
  class Application < Rails::Application
    config.autoload_paths += [config.root.join('app')]
  end
end

这将让Rails从Events::NewRequest自动加载app/events/new_request.rb

irb(main):001:0> Events
=> Events
irb(main):002:0> Events::NewRequest
=> Events::NewRequest