Почему у меня возникают проблемы с обозначениями хеш-ключей моих рельсов? - PullRequest
2 голосов
/ 18 января 2012

Я недавно написал несколько строк кода рельсов, таких как

RandomApp::Application.config.session_store :cookie_store, key: '_ramdom_app_session'

, и я использовал этот вид кода в разработке и в производственном режиме - он работал правильно.Теперь я получаю сообщение об ошибке, которое я интерпретирую, вместо этого я должен взять следующий код:

RandomApp::Application.config.session_store :cookie_store, :key => '_ramdom_app_session'

(обратите внимание на различное использование хеш-ключа с именем 'key'.)

Я былразработка приложения на разных системах (ПК, ноутбуки) с использованием git.Я использую ruby ​​1.8.7 (2011-12-28 patchlevel 357) [i386-mingw32] и Rails 3.1.3.Что изменилось (например, в ruby ​​или rails) или что я изменил, чтобы эта ошибка произошла?

Ответы [ 2 ]

2 голосов
/ 18 января 2012

Ключ: синтаксис недоступен в Ruby 1.8.7. Он не был добавлен до 1.9. Вы, должно быть, изменили версии Ruby где-то вдоль линии.

1 голос
/ 18 января 2012

{ключ: значение} поддерживается начиная с Ruby 1.9.x. Синтаксис {key => value} является старым, но он все еще может интерпретироваться текущей версией Ruby. Поскольку ваше приложение было разработано в версии Ruby> = 1.9.x, вам не следует продолжать использовать Ruby 1.8.7, потому что тогда вы столкнетесь с более странными проблемами в будущем. Вы должны проверить, какая версия Ruby используется в рабочей среде, чтобы вы могли установить ту же версию Ruby в свою систему.

Существует действительно хороший менеджер версий Ruby, который вы можете использовать для переключения между версиями Ruby: http://beginrescueend.com/

...