我按照here步骤安装了composite_primary_keys gem。当我尝试通过
在文件的最底部(在'结束'之后)的environment.rb中要求gem时require 'composite_primary_keys'
启动服务器时我得到了这个
"69125"
=> Booting Mongrel
=> Rails 2.3.4 application starting on http://127.0.0.1:3002
/Library/Ruby/Site/1.8/rubygems.rb:270:in `activate': You have a nil object when you didn't expect it! (NoMethodError)
You might have expected an instance of Array.
The error occurred while evaluating nil.map
from /Library/Ruby/Site/1.8/rubygems.rb:296:in `activate'
from /Library/Ruby/Site/1.8/rubygems.rb:295:in `each'
from /Library/Ruby/Site/1.8/rubygems.rb:295:in `activate'
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:35:in `require'
from /path/to/www/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
from /path/to/www/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /path/to/www/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
from /path/to/www/config/environment.rb:54
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
from /path/to/www/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
from /path/to/www/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /path/to/www/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
from /path/to/www/vendor/rails/railties/lib/commands/server.rb:84
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
from ./script/server:3
from -e:2:in `load'
from -e:2
知道为什么会这样吗?
答案 0 :(得分:3)
尝试将它放在你的environment.rb中,如下所示:
Rails::Initializer.run do |config|
config.gem 'composite_primary_keys'
end