2016-02-12 77 views
0

我将非常感谢您收到关于解决以下错误的建议。Ruby on Rails 4无法通过自动加载路径自动加载常量

配置/ application.rb中

... 
    config.autoload_paths += %W["#{config.root}/app/packages/"] 
... 

助手/ application.rb中

... 
def package_handler_by_name(name) 
    "#{name}_package".classify.constantize.new  
end 
... 

控制器/ packages_controller.rb

... 
include ApplicationHelper 
... 
    def get_packages 
     @package_handlers = {} 
     @package_names = Dir.glob("#{::Rails.application.config.root}/app/packages/*.rb").map { 
     |f| 
      name = File.basename(f).chomp("_package.rb") 
      @package_handlers[name] = package_handler_by_name(name) **error** 
      name 
    } 
    end 
... 

错误追溯线标有错误

Unable to autoload constant SubscriptionPackage, expected /home/ubuntu/workspace/sample_app/app/packages/subscription_package.rb to define it 

当然packages/subscription_package.rb存在(否则我们会收到前一行的错误)。

+0

您能向我们展示_subscription_package.rb_ – Leito

回答

0

subscription_package.rb中有一个输入错误的类名。 结案,非常感谢莱托指出。