2016-02-12 78 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中有一個輸入錯誤的類名。 結案,非常感謝萊託指出。