我安裝了一些用於測試的新寶石,並遇到未初始化的常量ActionController :: Dispatcher :: MiddlewareStack錯誤。我遵循關於gem rdocs的說明 - 在我的environment.rb文件中指定了gem依賴項,然後運行rake gems:install和rake gems:unpack。未初始化的常量ActionController :: Dispatcher :: MiddlewareStack
我還將我的environment.rb文件一次一行地複製到不同的項目中,但沒有收到錯誤消息。我想知道還有哪些事情可能會出錯。
以下是錯誤的一個更長的版本(我第一次跑進運行一個簡單的測試誤差;同樣的事情發生在一個控制檯時,我確實需要「active_support」):
$ ruby test/unit/user_test.rb
** has_many_polymorphs: rails environment detected
/Users/thaiyoshi/.gem/ruby/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:105:in `const_missing': uninitialized constant ActionController::Dispatcher::MiddlewareStack (NameError)
from /Users/thaiyoshi/.gem/ruby/1.8/gems/actionpack-2.3.2/lib/action_controller/dispatcher.rb:71
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /Users/thaiyoshi/.gem/ruby/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require'
from /Users/thaiyoshi/.gem/ruby/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /Users/thaiyoshi/.gem/ruby/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require'
from /Users/thaiyoshi/.gem/ruby/1.8/gems/has_many_polymorphs-2.13/lib/has_many_polymorphs/autoload.rb:2
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
... 8 levels...
from ./test/unit/../test_helper.rb:2:in `require'
from ./test/unit/../test_helper.rb:2
from test/unit/user_test.rb:1:in `require'
from test/unit/user_test.rb:1
這是我的環境。 RB文件(默認情況下刪除評論):
RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
# config.gem 'has_many_polymorphs', :version => "2.12"
# require ‘has_many_polymorphs‘
# Bootstrap the Rails environment, frameworks, and default configuration
require File.join(File.dirname(__FILE__), 'boot')
require 'has_many_polymorphs'
require 'active_support'
Rails::Initializer.run do |config|
config.time_zone = 'UTC'
config.gem "thoughtbot-factory_girl",
:lib => "factory_girl",
:source => "http://gems.github.com"
config.gem 'thoughtbot-shoulda',
:lib => false,
:source => 'http://gems.github.com'
end
我認爲它必須處理'has_many_polymorphs'行。我GOOGLE'has_many_polymorphs'與rails 2.3.2的兼容性,但沒有發現任何明確的。 – sutee 2009-05-01 09:09:53
您是否嘗試過每次安裝一顆寶石? 此外,您可能希望創建一個新的祕密,現在您已經與我們所有人分享了它:P。 – allyourcode 2009-05-02 06:31:30