我对编码非常陌生 - 所以请保持温和。
我在第3章3.1节,在创建static_pages
,主页和帮助后的最后,通过输入$ rails generate controller StaticPages home help
,我无法导航到页面而没有得到相应的500运行时错误,反过来Killed
正在运行的服务器。
"你好"应用程序工作正常,直到现在我还没有遇到任何问题。
注意:我正在按照Windows 7 x64上的教程进行操作,但我采用了Hartl的建议,将Cloud IDE与Git,Bitbucket和Heroku一起使用。我确实必须运行Rails 4.2.1而不是Rails 4.2.2但是由于首次启动时出现问题。
我可能做错了什么?如果我需要提供更多信息,请告诉我,这对我来说都很新鲜。
编辑:
我再次检查了我的文件@Rich Peck所说的内容除了Routes.rb
文件只有这个(由系统生成,我也省略了所有#条评论)之外都是一样的:
Rails.application.routes.draw do
get 'static_pages/home'
get 'static_pages/help'
root 'application#hello'
end
我也按照一些评论说明了我的日志,这是过去100行的结果:
2015-10-11T21:25:49.589384+00:00 app[web.1]: => Run
rails服务器-h for more startup options
2015-10-11T21:25:49.589385+00:00 app[web.1]: => Ctrl-C to shutdown server
2015-10-11T21:25:49.589386+00:00 app[web.1]: Started GET "/" for 208.115.151.20 at 2015-10-11 21:25:49 +0000
2015-10-11T21:25:49.646987+00:00 app[web.1]: Processing by ApplicationController#hello as HTML
2015-10-11T21:25:49.656139+00:00 app[web.1]: Completed 200 OK in 9ms (Views: 0.8ms | ActiveRecord: 0.0ms)
2015-10-11T21:25:49.655832+00:00 app[web.1]: Rendered text template (0.0ms)
2015-10-11T21:25:49.786454+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=mysterious-journey-1439.herokuapp.com request_id=2474855b-e5c5-4db8-8b2a-83f0d6095d2d fwd="208.115.151.20" dyno=web.1 connect=0ms service=3ms status=200 bytes=228
2015-10-11T21:25:49.658965+00:00 heroku[router]: at=info method=GET path="/" host=mysterious-journey-1439.herokuapp.com request_id=e85687fc-6820-42c1-b389-4a6d8e0e2ffa fwd="208.115.151.20" dyno=web.1 connect=0ms service=73ms status=304 bytes=397
2015-10-11T21:59:04.638018+00:00 heroku[web.1]: Idling
2015-10-11T21:59:04.638730+00:00 heroku[web.1]: State changed from up to down
2015-10-11T21:59:04.639573+00:00 heroku[web.1]: State changed from down to starting
2015-10-11T21:59:06.575098+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2015-10-11T21:59:06.991420+00:00 app[web.1]: [2015-10-11 21:59:06] FATAL SignalException: SIGTERM
2015-10-11T21:59:06.991427+00:00 app[web.1]: /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:170:in
选择'
2015-10-11T21:59:06.991429 + 00:00 app [web.1]:/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:170:in {{ 1}}开始'
2015-10-11T21:59:06.991432 + 00:00 app [web.1]:/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:160:in {{ 1}}运行'
2015-10-11T21:59:06.991434 + 00:00 app [web.1]:/app/vendor/bundle/ruby/2.0.0/gems/rack-1.6.4/lib/rack/server.rb:286 :在block in start'
2015-10-11T21:59:06.991431+00:00 app[web.1]: /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:32:in
开始'
2015-10-11T21:59:06.991438 + 00:00 app [web.1]:/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands/commands_tasks.rb :80:start'
2015-10-11T21:59:06.991433+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/rack-1.6.4/lib/rack/handler/webrick.rb:34:in
点击'
2015-10-11T21:59:06.991441 + 00:00 app [web.1]:/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands/commands_tasks.rb :75:start'
2015-10-11T21:59:06.991436+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands/server.rb:80:in
run_command!'
2015-10-11T21:59:06.991443 + 00:00 app [web.1]:/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands.rb:17 :block in server'
2015-10-11T21:59:06.991440+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands/commands_tasks.rb:75:in
要求'
2015-10-11T21:59:06.991446 + 00:00 app [web.1]:bin / rails:8:在server'
2015-10-11T21:59:06.991442+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands/commands_tasks.rb:39:in
bin / rails server -p 21794 -e production <top (required)>'
2015-10-11T21:59:06.991445+00:00 app[web.1]: bin/rails:8:in
select&#39 ;
2015-10-11T22:34:11.813483 + 00:00 app [web.1]:/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:170:in {{ 1}}开始&#39;
2015-10-11T22:34:11.813486 + 00:00 app [web.1]:/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:160:in {{ 1}}运行&#39;
2015-10-11T22:34:11.813489 + 00:00 app [web.1]:/app/vendor/bundle/ruby/2.0.0/gems/rack-1.6.4/lib/rack/server.rb:286 :在<main>'
2015-10-11T21:59:06.991478+00:00 app[web.1]: [2015-10-11 21:59:06] INFO WEBrick::HTTPServer#start done.
2015-10-11T21:59:06.991452+00:00 app[web.1]: [2015-10-11 21:59:06] INFO going to shutdown ...
2015-10-11T21:59:06.991498+00:00 app[web.1]: Exiting
2015-10-11T21:59:07.767999+00:00 heroku[web.1]: Process exited with status 143
2015-10-11T21:59:08.554265+00:00 heroku[web.1]: Starting process with command
开始&#39;
2015-10-11T22:34:11.813492 + 00:00 app [web.1]:/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands/commands_tasks.rb :80:
2015-10-11T21:59:12.579369+00:00 app[web.1]: [2015-10-11 21:59:12] INFO WEBrick 1.3.1
2015-10-11T21:59:12.579406+00:00 app[web.1]: [2015-10-11 21:59:12] INFO ruby 2.0.0 (2015-04-13) [x86_64-linux]
2015-10-11T21:59:12.579784+00:00 app[web.1]: [2015-10-11 21:59:12] INFO WEBrick::HTTPServer#start: pid=3 port=21794
2015-10-11T21:59:13.087410+00:00 heroku[web.1]: State changed from starting to up
2015-10-11T22:34:07.204262+00:00 heroku[web.1]: Idling
2015-10-11T22:34:07.204981+00:00 heroku[web.1]: State changed from up to down
2015-10-11T22:34:10.871115+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2015-10-11T22:34:11.813473+00:00 app[web.1]: [2015-10-11 22:34:11] FATAL SignalException: SIGTERM
2015-10-11T22:34:11.813479+00:00 app[web.1]: /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:170:in
点击&#39;
2015-10-11T22:34:11.813495 + 00:00 app [web.1]:/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands/commands_tasks.rb :75:block in start'
2015-10-11T22:34:11.813484+00:00 app[web.1]: /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:32:in
run_command!&#39;
2015-10-11T22:34:11.813498 + 00:00 app [web.1]:/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands.rb:17 :start'
2015-10-11T22:34:11.813487+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/rack-1.6.4/lib/rack/handler/webrick.rb:34:in
要求&#39;
2015-10-11T22:34:11.813501 + 00:00 app [web.1]:bin / rails:8:在start'
2015-10-11T22:34:11.813490+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands/server.rb:80:in
rails server -h block in server'
2015-10-11T22:34:11.813493+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands/commands_tasks.rb:75:in
bin / rails server -p 43789 -e生产server'
2015-10-11T22:34:11.813497+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands/commands_tasks.rb:39:in
rails服务器-h <top (required)>'
2015-10-11T22:34:11.813500+00:00 app[web.1]: bin/rails:8:in
选择&#39;
2015-10-11T23:35:09.396831 + 00:00 app [web.1]:/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:170:in {{ 1}}开始&#39;
2015-10-11T23:35:09.396834 + 00:00 app [web.1]:/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:160:in {{ 1}}运行&#39;
2015-10-11T23:35:09.396838 + 00:00 app [web.1]:/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands/server.rb :80:<main>'
2015-10-11T22:34:11.813508+00:00 app[web.1]: [2015-10-11 22:34:11] INFO going to shutdown ...
2015-10-11T22:34:11.813551+00:00 app[web.1]: [2015-10-11 22:34:11] INFO WEBrick::HTTPServer#start done.
2015-10-11T22:34:11.813591+00:00 app[web.1]: => Booting WEBrick
2015-10-11T22:34:11.813594+00:00 app[web.1]: => Run
开始&#39;
2015-10-11T23:35:09.396843 + 00:00 app [web.1]:/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands/commands_tasks.rb :39:在服务器的for more startup options
2015-10-11T22:34:11.813593+00:00 app[web.1]: => Rails 4.2.1 application starting in production on http://0.0.0.0:21794
2015-10-11T22:34:11.813598+00:00 app[web.1]: Exiting
2015-10-11T22:34:11.813596+00:00 app[web.1]: => Ctrl-C to shutdown server
2015-10-11T22:34:12.863144+00:00 heroku[web.1]: Process exited with status 143
2015-10-11T22:59:27.859347+00:00 heroku[web.1]: Unidling
2015-10-11T22:59:27.859754+00:00 heroku[web.1]: State changed from down to starting
2015-10-11T22:59:31.767799+00:00 heroku[web.1]: Starting process with command
块中&#39;
2015-10-11T23:35:09.396846 + 00:00 app [web.1]:bin / rails:8:
2015-10-11T22:59:35.850425+00:00 app[web.1]: [2015-10-11 22:59:35] INFO WEBrick 1.3.1
2015-10-11T22:59:35.850445+00:00 app[web.1]: [2015-10-11 22:59:35] INFO ruby 2.0.0 (2015-04-13) [x86_64-linux]
2015-10-11T22:59:35.850845+00:00 app[web.1]: [2015-10-11 22:59:35] INFO WEBrick::HTTPServer#start: pid=3 port=43789
2015-10-11T22:59:36.187808+00:00 heroku[web.1]: State changed from starting to up
2015-10-11T22:59:36.930155+00:00 app[web.1]: => Booting WEBrick
2015-10-11T22:59:36.930162+00:00 app[web.1]: => Rails 4.2.1 application starting in production on http://0.0.0.0:43789
2015-10-11T22:59:36.930163+00:00 app[web.1]: => Run
&#39;
2015-10-11T23:35:09.396842 + 00:00 app [web.1]:/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands/commands_tasks.rb :75:for more startup options
2015-10-11T22:59:36.930165+00:00 app[web.1]: => Ctrl-C to shutdown server
2015-10-11T22:59:36.963421+00:00 app[web.1]: Processing by ApplicationController#hello as HTML
2015-10-11T22:59:36.930166+00:00 app[web.1]: Started GET "/" for 208.115.151.20 at 2015-10-11 22:59:36 +0000
2015-10-11T22:59:36.971478+00:00 app[web.1]: Completed 200 OK in 8ms (Views: 0.6ms | ActiveRecord: 0.0ms)
2015-10-11T22:59:36.974594+00:00 heroku[router]: at=info method=GET path="/" host=mysterious-journey-1439.herokuapp.com request_id=b8fe0c84-e45c-4997-be06-9742f276fb98 fwd="208.115.151.20" dyno=web.1 connect=1ms service=47ms status=304 bytes=397
2015-10-11T22:59:36.971195+00:00 app[web.1]: Rendered text template (0.0ms)
2015-10-11T22:59:37.155800+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=mysterious-journey-1439.herokuapp.com request_id=ce175e20-0e6c-40e1-9e4e-ec842143c159 fwd="208.115.151.20" dyno=web.1 connect=16ms service=4ms status=200 bytes=228
2015-10-11T23:35:06.014571+00:00 heroku[web.1]: Idling
2015-10-11T23:35:06.015165+00:00 heroku[web.1]: State changed from up to down
2015-10-11T23:35:08.748838+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2015-10-11T23:35:09.396823+00:00 app[web.1]: [2015-10-11 23:35:09] FATAL SignalException: SIGTERM
2015-10-11T23:35:09.396829+00:00 app[web.1]: /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:170:in
点击&#39;
2015-10-11T23:35:09.396844 + 00:00 app [web.1]:/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands.rb:17 :在block in start'
2015-10-11T23:35:09.396833+00:00 app[web.1]: /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:32:in
答案 0 :(得分:1)
我对编码非常陌生
因为您是新手,我会详细介绍我如何调试这个。它本身可能不是一个答案,但它至少应该帮助你。
首先,您需要确保设置正确的controller
和views
。
许多新编码员的主要问题是,他们会盲目地遵循教程,然后无法理解正在做什么。我知道它是什么样的,因为我一直这样做(当学习新东西时)......
因此,您需要了解正在添加到您的应用中的以及它应该如何表现:
<强> 1。控制器强>
您的第一个停靠点是控制器。
Rails将创建:
#app/controllers/static_pages_controller.rb
class StaticPagesController < ApplicationController
def hello
end
def help
end
end
这虽然不严格遵守您稍后在Rails中使用的CRUD
设置,但至少应该能够让您调用这两个操作。
您必须先检查是否有上述文件。
<强> 2。观点强>
其次,您需要查看您已生成的观点。
这些将位于:
#app/views/static_pages/hello.html.erb
#app/views/static_pages/help.html.erb
这两项功能都可以让您查看您的控制器动作输出。它们目前对调试过程并不重要。
他们内心真的没有任何东西。
第3。路由强>
最后,您要查看路线。
#config/routes.rb
resources :static_pages, only: [], path: "" do
collection do
get :hello #-> url.com/hello
get :help #-> url.com/help
end
end
这将使您能够访问控制器操作,以及您刚刚生成的视图。
所有这些内容应该在没有任何数据的情况下协同工作,以提供对url.com/hello
和url.com/help
的访问权限。
http://asciicasts.com/system/photos/232/original/E187I01.png
500 Errors基本上是说你的服务器有错误。
服务器上的哪些错误可能导致500问题?
大多数情况下,由于调用了不存在的变量......
#app/views/static_pages/hello.html.erb
<%= @hello %>
如果您正在使用Heroku
,那么调试的最佳方式 - 与标准Rails一样 - 是查看控制台。在标准导轨中,控制台在屏幕上可见(大多数情况下);与Heroku相比,它略有不同。
Heroku日志很奇怪,因为它们在Windows中不能很好地格式化。我们倾向于将LogEntries
用于&#34; live&#34;功能,看看发生了什么,并纠正它:
浏览这些日志会显示错误是什么,从而为您提供有关如何解决错误的一些观点。
-
最后,您可能希望使用better_errors
或exception_handler