2013-09-01 3 views
3

У меня есть рельсы 3.2.12 приложения, но когда я побежал rails s, я получил следующее сообщение об ошибке: connection_specification.rb:45:in 'resolve_hash_connection': undefined method 'symbolize_keys' for #<String:0x00000006c16b40> (NoMethodError)рельсы s: не определен метод `symbolize_keys'

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 
+0

Этот вопрос не соответствует теме, потому что это опечатка в файле, который не показан. – Flexo

ответ

10

#symbolize_keys - это метод, который принимает Hash в качестве приемника, но вы вызываете его на String.

+0

Могу ли я преобразовать эту строку в хэш? –

+1

Проблема решена: в моей базе данных отсутствует пробел.yml –