Я пытаюсь проверить, будет ли работать простой прогон приложения Rail с базой данных, и я столкнулся с проблемой.
Вот шаги, которые я предпринимаю:
> mkdir MyApp
> cd MyApp
> rails myapp
...
> rake db:create
...
> ruby script/generate scaffold user first_name:string last_name:string active:boolean
...
> rake db:migrate
...
> ruby script/server
...
Отсюда, при первом открытии http://localhost:3000/users откроется страница, а затем я нажимаю «Новый пользователь». Тогда я получаю эту ошибку:
NoMethodError в Users # index
Отображение app / views / layouts / users.html.erb, где поднята строка # 12:
undefined method `^' for "7":String
RAILS_ROOT: / Users / lillq / MyApp
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.4/lib/active_support/message_verifier.rb:46:in `block in secure_compare'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.4/lib/active_support/message_verifier.rb:45:in `each'
...
/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-2.3.4/lib/action_view/base.rb:197:in `flash'
/Users/lillq/MyApp/app/views/layouts/users.html.erb:12:in `_run_erb_app47views47layouts47users46html46erb'
/Users/lillq/MyApp/app/controllers/users_controller.rb:7:in `index'
Итак, сначала я подумал, что версии могут быть несовместимыми, но есть несколько вопросов, которые говорят, что 1.9.1 и rails совместимы.
Оба говорят, что Rail и Ruby 1.9 должны работать.
Итак, вот версии, которые я использую:
lillq:~/MyApp > ruby --version
ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-darwin10.0.0]
lillq:~/MyApp > gem --version
1.3.5
lillq:~/MyApp > gem list
*** LOCAL GEMS ***
actionmailer (2.3.4)
actionpack (2.3.4)
activerecord (2.3.4)
activeresource (2.3.4)
activesupport (2.3.4)
mysql (2.8.1)
rack (1.0.0)
rails (2.3.4)
rake (0.8.7)
sqlite3-ruby (1.2.5)
Итак, из того, что я могу найти в Интернете, все говорит мне, что это должно работать. Чего мне не хватает?