Rails迁移失败,出现错误语法

时间:2013-01-01 03:35:53

标签: ruby-on-rails rake

我对rails很新,我的模型中有这个

PreGit::Application.routes.draw do

  resources :microposts
  resources :users

  match '/help',    to:'static_pages#help'
  match '/about',   to:'static_pages#about'
  match '/contact', to:'static_pages#contact'

  root_path => '/'
  root_url => 'http://localhost:3000/'

end

但是在运行bundle exec rake db:migrate时,我明白了:

syntax error, unexpected tSYMBEG, expecting kDO or '{' or '('
  match '/help',    to:'static_pages#help'
                    ^

有人可以提供帮助

1 个答案:

答案 0 :(得分:1)

看起来这不是Rails问题,而是Ruby版本问题。

在Ruby 1.8.x中,哈希语法是

:to => static_pages#help'

但Ruby 1.9.x支持

to:'static_pages#help'

所以你可能正在尝试在Ruby 1.8.x下运行在Ruby 1.9.x下开发的应用程序

尝试在Ruby 1.9.x

下运行相同的应用程序

如果您使用的是rvm,请尝试使用

rvm list#将列出所有红宝石版本

如果你安装了ruby 1.9.x

rvm use ruby-1.9.x