Это работает в 1.8.7:
>> h = {"id", 6}
=> {"id"=>6}
, но не в 1.9.2:
>> h = {"id",6}
SyntaxError: (irb):4: syntax error, unexpected ',', expecting tASSOC
h = {"id",6}
^
from /Users/mu/Developer/.rvm/rubies/ruby-1.9.2-p180/bin/irb:16:in `<main>'
Обозначение ракеты будет служить вам лучше:
@autolist.concat([{ "id" => profile.id, "name" => profile.first_name + " " + profile.last_name, "email" => user.email}])
Я не могу найти упоминания об этом изменении в примечаниях к выпуску 1.9.1 или 1.9.2, и это фактически первый раз, когда я вижу синтаксис {'a', b}
для Ruby Hash.Возможно, эта нотация была устаревшей функцией, которая наконец исчезла.
Кстати, разработка на 1.8.7 и развертывание на 1.9.2 - не лучшая идея.