0

我对 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'
                    ^

有人可以帮忙

4

1 回答 1

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​​ 版本

如果你安装了 ruby​​ 1.9.x

rvm use ruby-1.9.x
于 2013-01-01T03:44:12.013 回答