为什么我不能启动 Rails 服务器?



这是我的控制台日志:

Last login: Thu Feb 9 14:24:17 on ttys000
leon$ cd Sites
leon$ ll
total 16
drwxr-xr-x 4 501 20 136 6 Feb 15:15 .
drwxr-xr-x+ 22 501 20 748 9 Feb 14:24 ..
-rw-r--r--@ 1 501 20 6148 9 Feb 14:12 .DS_Store
drwxr-xr-x 19 501 20 646 6 Feb 15:15 simple_cms
leon$ cd simple_cms
leon$ ll
total 80
drwxr-xr-x 19 501 20 646 6 Feb 15:15 .
drwxr-xr-x 4 501 20 136 6 Feb 15:15 ..
-rw-r--r--@ 1 501 20 8196 9 Feb 13:54 .DS_Store
-rw-r--r-- 1 501 20 468 6 Feb 15:12 .gitignore
-rw-r--r-- 1 501 20 1899 6 Feb 15:12 Gemfile
-rw-r--r-- 1 501 20 4280 6 Feb 15:12 Gemfile.lock
-rw-r--r-- 1 501 20 374 6 Feb 15:12 README.md
-rw-r--r-- 1 501 20 227 6 Feb 15:12 Rakefile
drwxr-xr-x 11 501 20 374 6 Feb 16:39 app
drwxr-xr-x 8 501 20 272 6 Feb 15:12 bin
drwxr-xr-x 15 501 20 510 6 Feb 16:22 config
-rw-r--r-- 1 501 20 130 6 Feb 15:12 config.ru
drwxr-xr-x 3 501 20 102 6 Feb 15:12 db
drwxr-xr-x 4 501 20 136 6 Feb 15:12 lib
drwxr-xr-x 5 501 20 170 9 Feb 14:12 log
drwxr-xr-x 11 501 20 374 6 Feb 16:39 public
drwxr-xr-x 9 501 20 306 6 Feb 15:12 test
drwxr-xr-x 8 501 20 272 6 Feb 16:03 tmp
drwxr-xr-x 4 501 20 136 6 Feb 15:40 vendor
leon$ rails server
/Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:51: warning: constant ::Fixnum is deprecated
/Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:52: warning: constant ::Bignum is deprecated
=> Booting Puma
=> Rails 5.0.1 application starting in development on http://localhost:3000
=> Run rails server -h for more startup options
/Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/core_ext/numeric/conversions.rb:138: warning: constant ::Fixnum is deprecated
Exiting
/Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/actionpack-5.0.1/lib/action_dispatch/routing/mapper.rb:78:in check_via': You should not use thematchmethod in your router without specifying an HTTP method. (ArgumentError) If you want to expose your action to both GET and POST, addvia: [:get, :post]option. If you want to expose your action to GET, usegetin the router: Instead of: match "controller#action" Do: get "controller#action" from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/actionpack-5.0.1/lib/action_dispatch/routing/mapper.rb:1902:inmap_match'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/actionpack-5.0.1/lib/action_dispatch/routing/mapper.rb:1599:in match' from /Users/leon/Sites/simple_cms/config/routes.rb:5:inblock in <top (required)>'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/actionpack-5.0.1/lib/action_dispatch/routing/route_set.rb:389:in instance_exec' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/actionpack-5.0.1/lib/action_dispatch/routing/route_set.rb:389:ineval_block'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/actionpack-5.0.1/lib/action_dispatch/routing/route_set.rb:371:in draw' from /Users/leon/Sites/simple_cms/config/routes.rb:1:in<top (required)>'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:287:in load' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:287:inblock in load'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:259:in load_dependency' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:287:inload'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/application/routes_reloader.rb:40:in block in load_paths' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/application/routes_reloader.rb:40:ineach'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/application/routes_reloader.rb:40:in load_paths' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/application/routes_reloader.rb:16:inreload!'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/application/routes_reloader.rb:26:in block in updater' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/file_update_checker.rb:77:inexecute'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/application/routes_reloader.rb:27:in updater' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/application/routes_reloader.rb:7:inexecute_if_updated'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/application/finisher.rb:119:in block in <module:Finisher>' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/initializable.rb:30:ininstance_exec'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/initializable.rb:30:in run' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/initializable.rb:55:inblock in run_initializers'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/2.4.0/tsort.rb:228:in block in tsort_each' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/2.4.0/tsort.rb:350:inblock (2 levels) in each_strongly_connected_component'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/2.4.0/tsort.rb:431:in each_strongly_connected_component_from' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/2.4.0/tsort.rb:349:inblock in each_strongly_connected_component'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/2.4.0/tsort.rb:347:in each' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/2.4.0/tsort.rb:347:incall'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/2.4.0/tsort.rb:347:in each_strongly_connected_component' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/2.4.0/tsort.rb:226:intsort_each'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/2.4.0/tsort.rb:205:in tsort_each' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/initializable.rb:54:inrun_initializers'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/application.rb:352:in initialize!' from /Users/leon/Sites/simple_cms/config/environment.rb:5:in<top (required)>'
from /Users/leon/Sites/simple_cms/config.ru:3:in require_relative' from /Users/leon/Sites/simple_cms/config.ru:3:inblock in
'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rack-2.0.1/lib/rack/builder.rb:55:in instance_eval' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rack-2.0.1/lib/rack/builder.rb:55:ininitialize'
from /Users/leon/Sites/simple_cms/config.ru:in new' from /Users/leon/Sites/simple_cms/config.ru:in'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rack-2.0.1/lib/rack/builder.rb:49:in eval' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rack-2.0.1/lib/rack/builder.rb:49:innew_from_string'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rack-2.0.1/lib/rack/builder.rb:40:in parse_file' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rack-2.0.1/lib/rack/server.rb:318:inbuild_app_and_options_from_config'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rack-2.0.1/lib/rack/server.rb:218:in app' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/commands/server.rb:59:inapp'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rack-2.0.1/lib/rack/server.rb:353:in wrapped_app' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/commands/server.rb:124:inlog_to_stdout'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/commands/server.rb:77:in start' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:90:inblock in server'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:85:in tap' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:85:inserver'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:49:in run_command!' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/commands.rb:18:in<top (required)>'
from /Users/leon/Sites/simple_cms/bin/rails:9:in require' from /Users/leon/Sites/simple_cms/bin/rails:9:in<top (required)>'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.1/lib/spring/client/rails.rb:28:in load' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.1/lib/spring/client/rails.rb:28:incall'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.1/lib/spring/client/command.rb:7:in call' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.1/lib/spring/client.rb:30:inrun'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.1/bin/spring:49:in <top (required)>' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.1/lib/spring/binstub.rb:31:inload'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.1/lib/spring/binstub.rb:31:in <top (required)>' from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:inrequire'
from /Users/leon/.rbenv/versions/2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in require' from /Users/leon/Sites/simple_cms/bin/spring:15:in<top (required)>'
from bin/rails:3:in load' from bin/rails:3:in'
leon$

我还将其发布在github上,因为我在这里遇到麻烦:https://github.com/rails/rails/rails/issues/28012。

我正在关注Lynda教程,由于此错误,我无法超越Ruby设置的Ruby。

从堆栈中您可以看到您在第5行中的simple_cms/config/routes.rb中有一个错误。

在日志的顶部您读取的原因:

您不应在路由器中使用匹配方法而不指定 HTTP方法。

(参数)如果您想将您的动作公开 获取和发布,添加via:[: get,:post]选项。

如果您想揭露 获取的操作,在路由器中使用:

而不是:匹配 "控制器#动作"做:获取"控制器#action"

您可以找到有关如何在官方文档中构建routes.rb文件的更多文档。

最新更新