«Рельсы» с Activesupport 3.2.0

Я новый пользователь Ruby on rails, и сейчас я пытаюсь создать свой блог, чтобы попрактиковаться в этом прекрасном фреймворке. Итак, после того, как я выполнил эту команду для запуска сервера, я получил эту ошибку, и я думал, что это от ActiveSupport. Мне нужна помощь :)

Это сообщение об ошибке, которое я получил:

 ~/Bureau/blog$ rails server
=> Booting WEBrick
=> Rails 3.2.0.rc2 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/usr/lib/ruby/gems/1.8/gems/activesupport-3.2.0.rc2/lib/active_support/dependencies.rb:245:in `load': /home/eayoub/Bureau/blog/config/initializers/session_store.rb:3: syntax error, unexpected ':', expecting $end (SyntaxError)
...sion_store :cookie_store, key: '_blog_session'
                              ^
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.0.rc2/lib/active_support/dependencies.rb:245:in `load'
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.0.rc2/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.0.rc2/lib/active_support/dependencies.rb:245:in `load'
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.0.rc2/lib/rails/engine.rb:588
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.0.rc2/lib/rails/engine.rb:587:in `each'
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.0.rc2/lib/rails/engine.rb:587
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.0.rc2/lib/rails/initializable.rb:30:in `instance_exec'
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.0.rc2/lib/rails/initializable.rb:30:in `run'
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.0.rc2/lib/rails/initializable.rb:55:in `run_initializers'
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.0.rc2/lib/rails/initializable.rb:54:in `each'
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.0.rc2/lib/rails/initializable.rb:54:in `run_initializers'
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.0.rc2/lib/rails/application.rb:136:in `initialize!'
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.0.rc2/lib/rails/railtie/configurable.rb:30:in `send'
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.0.rc2/lib/rails/railtie/configurable.rb:30:in `method_missing'
    from /home/eayoub/Bureau/blog/config/environment.rb:5
    from /home/eayoub/Bureau/blog/config.ru:4:in `require'
    from /home/eayoub/Bureau/blog/config.ru:4
    from /usr/lib/ruby/gems/1.8/gems/rack-1.4.0/lib/rack/builder.rb:51:in `instance_eval'
    from /usr/lib/ruby/gems/1.8/gems/rack-1.4.0/lib/rack/builder.rb:51:in `initialize'
    from /home/eayoub/Bureau/blog/config.ru:1:in `new'
    from /home/eayoub/Bureau/blog/config.ru:1

person Ayyoub Dahhane    schedule 20.01.2012    source источник


Ответы (2)


Похоже, вы работаете на Ruby 1.8.7, но написанный вами код действителен только в Ruby 1.9.

Если есть возможность, я бы рекомендовал обновиться до 1.9.3; это должно решить проблему.

Если вы не можете использовать Ruby 1.9.3, просто измените строку с

key: '_blog_session'

to

:key=>'_blog_session'
person Rob Di Marco    schedule 20.01.2012

Вы используете Ruby 1.9.x? Ошибка находится в строке, использующей новый синтаксис хеширования 1.9, который не имеет обратной совместимости. Попробуйте запустить ruby ​​--v и посмотрите, какая у вас версия. Если это 1.8.x, вам нужно обновить Ruby, чтобы запустить последнюю версию Rails.

person acoffman    schedule 20.01.2012