rails s:未定义的方法`symbolize_keys'

时间:2013-09-01 17:31:09

标签: ruby-on-rails ruby ruby-on-rails-3

我有一个rails 3.2.12 app,但当我运行rails s时,我收到以下错误:connection_specification.rb:45:in 'resolve_hash_connection': undefined method 'symbolize_keys' for #<String:0x00000006c16b40> (NoMethodError)

connection_specification.rb关注的方法:

def resolve_hash_connection(spec) # :nodoc:
  spec = spec.symbolize_keys # Line 45

  raise(AdapterNotSpecified, "database configuration does not specify adapter") unless spec.key?(:adapter)

  begin
    require "active_record/connection_adapters/#{spec[:adapter]}_adapter"
  rescue LoadError => e
    raise LoadError, "Please install the #{spec[:adapter]} adapter: `gem install activerecord-#{spec[:adapter]}-adapter` (#{e.message})", e.backtrace
  end

  adapter_method = "#{spec[:adapter]}_connection"

  ConnectionSpecification.new(spec, adapter_method)
end

1 个答案:

答案 0 :(得分:11)

#symbolize_keys是一种将Hash作为接收者的方法,但您在String上调用它。