无法修改冻结数组(TypeError) – config / application.rb:42:in << <<':

我有一个rails 3应用程序,我正在尝试进行测试。 我执行以下命令rspec spec / controllers /并得到以下错误:

/config/application.rb:42:in `<<': can't modify frozen array (TypeError) from c:/Users/#####/documents/#####/config/application.rb:42 

它指向我在下面提供的config / application.rb文件。

 require File.expand_path('../boot', __FILE__) require 'rails/all' # If you have a Gemfile, require the gems listed there, including any gems # you've limited to :test, :development, or :production. Bundler.require(:default, Rails.env) if defined?(Bundler) module PadOnRails class Application < Rails::Application # Settings in config/environments/* take precedence over those specified here. # Application configuration should go into files in config/initializers # -- all .rb files in that directory are automatically loaded. # Custom directories with classes and modules you want to be autoloadable. # config.autoload_paths += %W(#{config.root}/extras) # Only load the plugins named here, in the order given (default is alphabetical). # :all can be used as a placeholder for all plugins not explicitly named. # config.plugins = [ :exception_notification, :ssl_requirement, :all ] # Activate observers that should always be running. # config.active_record.observers = :cacher, :garbage_collector, :forum_observer # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. # config.time_zone = 'Central Time (US & Canada)' # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] # config.i18n.default_locale = :de # JavaScript files you want as :defaults (application.js is always included). # config.action_view.javascript_expansions[:defaults] = %w(jquery rails) # Configure the default encoding used in templates for Ruby 1.9. config.encoding = "utf-8" # Configure sensitive parameters which will be filtered from the log file. config.filter_parameters += [:password] config.autoload_paths << "#{config.root}/lib" end end 

有其他人经历过这种确切的问题。 如果是这样,你如何解决它,因为我删除了我的项目并完成了一个git克隆仍然得到相同的错误。

尝试评论建议的方法:

 config.autoload_paths += %W{#{config.root}/lib} 

这不会修改初始数组,但会将给定数组添加到config.autoload_paths并将其保存到config.autoload_paths的新数组中。