2015-10-11 33 views
1

我對編碼通常很陌生 - 所以要溫和。Hartl教程3.1:導航到'home'靜態時的運行時錯誤頁面

我在第3章,3.1,在最後一刻創造static_pages,家庭和幫助,通過輸入$ rails generate controller StaticPages home help後,我不能再導航到該頁面沒有得到相應的500運行時錯誤,這反過來又Killed的運行服務器。

「你好」的應用程序工作得很好,直到現在我還沒有問題。

說明:我正在關注Windows 7 x64上的教程,但我正在考慮Hartl的建議,將Git,Bitbucket和Heroku的Cloud IDE一起使用。但是,由於第一次啓動時出現問題,我必須運行Rails 4.2.1而不是Rails 4.2.2。

我會做什麼錯?請讓我知道如果我需要包含更多信息,這對我來說都是非常新的。

編輯:

我查我的檔案又是什麼@Rich佩克說和theyre之外的所有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軌服務器-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 :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.991432 + 00:00 app [web.1]:/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb :160:在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.991434 + 00:00 app [web.1]:/app/vendor/bundle/ruby/2.0.0/gems/rack-1.6.4/lib /rack/server.rb:286:in 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 start' 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:在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.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:in 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 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:在<top (required)>' 2015-10-11T21:59:06.991445+00:00 app[web.1]: bin/rails:8:in要求' 2015-10-11T21:59:06.991446 + 00:00 app [web.1]:bin/rails:8:<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 bin/rails server -p 21794 -e production 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 select' 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 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 start' 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 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運行' 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:在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開始' 2015-10-11T22:34:11.81349 2 + 00:00應用[web.1]:/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands/commands_tasks.rb:80:in 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水龍頭' 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:在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 run_command!' 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:<top (required)>' 2015-10-11T22:34:11.813500+00:00 app[web.1]: bin/rails:8:in需要' 2015-10-11T22:34:11.813501 + 00:00 app [web.1]:bin/rails:8:<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 rails server -h 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 bin/rails server -p 43789 - e生產 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 rails server -h 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 select' 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:在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開始' 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:在start' 2015-10-11T23:35:09.396835+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-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:in start' 2015-10-11T23:35:09.396836+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/rack-1.6.4/lib/rack/server.rb:286:in start' 2015-10-11T23:35:09.396843 + 00:00 app [web.1]:/ app/vendor/bundle /紅寶石/ 2 .0.0/gems/railties-4.2.1/lib/rails/commands/commands_tasks.rb:39:run_command!' 2015-10-11T23:35:09.396840+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/commands/commands_tasks.rb:80:in服務器中的塊' 2015-10-11T23:35:09.396846 + 00:00 app [web.1]: bin/rails:8:require' 2015-10-11T23:35:09.396847+00:00 app[web.1]: bin/rails:8:in' 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:in server' 2015-10-11T23:35:09.396841+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-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:in <top (required)>' 2015-10-11T23:35:09.396853+00:00 app[web.1]: [2015-10-11 23:35:09] INFO going to shutdown ... 2015-10-11T23:35:09.396894+00:00 app[web.1]: Exiting 2015-10-11T23:35:09.396870+00:00 app[web.1]: [2015-10-11 23:35:09] INFO WEBrick::HTTPServer#start done. 2015-10-11T23:35:10.254851+00:00 heroku[web.1]: Process exited with status 143 WARNING: Toolbelt v3.42.17 update available.

+0

什麼是您的Heroku的日誌說?從控制檯,'heroku日誌'看到最後100行。 – MarsAtomic

+1

另外,你最好發佈你的'routes.rb'文件。你沒有指出是否設置了映射到你的'static_pages_controller'方法的路線。 – MarsAtomic

+0

請發佈您的'app/controllers/static_controller'和路由 –

回答

1

我非常新的編碼

因爲你是新手,所以我會給你詳細介紹一下debug這個。它本身可能不是一個答案,但至少應該幫助你。


首先,你需要確保你有controllerviews樹立正確的。

許多新編碼員的主要問題是他們會盲目地遵循教程,然後無法理解正在做什麼。我知道是什麼感覺,因爲我做這一切的時候(學習新的東西的時候)..

因此,你需要了解什麼被添加到您的應用程序,它應該如何表現:


1.控制器

你的呼叫的第一端口是控制器

您可以read more about this here

Rails會創建:

#app/controllers/static_pages_controller.rb 
class StaticPagesController < ApplicationController 
    def hello 
    end 

    def help 
    end 
end 

這雖然不是嚴格秉承CRUD設置,你會在Rails中以後使用,應該給你至少要調用這兩個操作的能力。

您必須先檢查您是否有上述文件。


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/hellourl.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與「活」的功能,看看發生了什麼事情,並糾正它:

enter image description here

瀏覽通過這些日誌會告訴你是什麼錯誤,從而給你如何一些觀點要解決這個問題。

-

最後,你可以希望使用這種寶石的better_errorsexception_handler

+0

除「路由」之外,我的所有文件都是相同的。rb「只有這個文件: Rails.application.routes.draw do get'static_pages/home' get'static_pages/help' – Fixnpixels