第一个应用程序(Mac)上的Ruby Routes问题。 - 新手警告

时间:2016-03-16 23:04:23

标签: ruby-on-rails ruby macos

我已经完成了安装,似乎工作正常。我可以进入默认主页并启动服务器,但是一旦生成了一些内容并更新了routes.rb文件,我就无法在更新路由后运行服务器。 这是routes.rb的顶部

Rails.application.routes.draw do

# set the index page / root url
  root ‘pages#home’

  get 'pages/about'

  get 'pages/home'

在运行服务器时,我得到的是(我猜我错过了一些明显的东西):

Mymachine:myrubyblog2 emusic$ rails s
=> Booting WEBrick
=> Rails 4.2.4 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Exiting
/Users/emusic/Sites/myrubyblog2/config/routes.rb:4:in `block in <top (required)>': undefined local variable or method `‘pages' for #<ActionDispatch::Routing::Mapper:0x007fb85e2c2b80> (NameError)

这就是我对Generate的看法:

:myrubyblog emusic$ rails generate controller home index
/Users/emusic/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:268:in `load': /Users/emusic/Sites/myrubyblog/config/routes.rb:2: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '(' (SyntaxError)

我已经检查了每个可以成像的格式,并且看不出有什么问题。

1 个答案:

答案 0 :(得分:0)

根据您的错误判断:

/Users/emusic/Sites/myrubyblog2/config/routes.rb:4:in `block in <top (required)>': undefined local variable or method `‘pages' for #<ActionDispatch::Routing::Mapper:0x007fb85e2c2b80> (NameError)

看来你的根写错了:

root ‘pages#home’

请尝试使用root 'pages#home'

另请注意,您可以哈希或删除get 'pages/home'

请仔细阅读以便更好地理解:

http://guides.rubyonrails.org/getting_started.html部分 4.3

您是否尝试在发布之前迁移数据库:rake db:migraterake db:reset