Ответ 1
Вы обновили Ruby, а также Rails? Я думаю, что это изменение между 1,8 и 1,9
Попробуйте hash.keys.first.to_s
(если всегда есть только одна клавиша) или hash.keys.join
Пример Hash
hash = {:key => ["val1", "val2]}
Когда я сделал это на рейках 3.0.7, все было в порядке.
> hash.keys.to_s
=> "key"
> hash[hash.keys.to_s]
=> ["val1", "val2"]
Но если я делаю это с помощью рельсов 3.1.3, это не так.
> hash.keys.to_s
=> [\"key\"]
> hash[hash.keys.to_s]
=> nil
Является ли это из-за изменения версии Rails? и Есть ли другой способ превратить хеш-ключ в строку, которая работает с обеих версий (или с рельсами 2 тоже)?
Вы обновили Ruby, а также Rails? Я думаю, что это изменение между 1,8 и 1,9
Попробуйте hash.keys.first.to_s
(если всегда есть только одна клавиша) или hash.keys.join
Вам просто нужно преобразовать его в символ вместо правильной строки:
hash[hash.keys.to_sym]