1

私は一般的にコーディングに非常に慣れていないので、優しくしてください。

私は第 3 章の 3.1 にいstatic_pagesます。ホームとヘルプを作成した後、最後に を入力すると$ rails generate controller StaticPages home help、対応する 500 ランタイム エラーが発生せずにページに移動できません。これKilledは実行中のサーバーです。

「こんにちは」アプリは問題なく動作し、今まで問題はありませんでした。

注: 私は Windows 7 x64 でチュートリアルに従っていますが、Git、Bitbucket、および Heroku で Cloud IDE を使用するという Hartl の推奨に従っています。Rails 4.2.2 の代わりに Rails 4.2.1 を実行する必要がありましたが、最初の起動時に問題が発生しました。

私は何が間違っているのでしょうか?これ以上情報を含める必要がある場合はお知らせください。これはすべて私にとって非常に新しいことです。

編集:

@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]: => Runrails server -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:inselect' 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 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:開始' 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:inblock 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:inserver' 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:inrun_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 :in <top (required)>' 2015-10-11T21:59:06.991445+00:00 app[web.1]: bin/rails:8:inrequire' 2015-10-11T21:59:06.991446+00:00 app[web.1]: bin/rails:8:in <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 commandbin/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:inselect' 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:instart' 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: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 アプリ[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/rack-1.6.4/lib/rack/server.rb:286:instart' 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.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: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:intap' 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:in 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:inrun_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 :in <top (required)>' 2015-10-11T22:34:11.813500+00:00 app[web.1]: bin/rails:8:inrequire' 2015-10-11T22:34:11.813501+00:00 app[web.1]: bin/rails:8:in <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]: => Runrails 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 commandbin/rails server -p 43789 -e production 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]: => Runrails 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:inselect ' 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:inblock 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:in 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:inrun' 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: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開始' 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:in 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:inblock in server' 2015-10-11T23:35:09.396846+00:00 app[web.1]: bin/rails:8:in 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:intap' 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:で<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.

4

1 に答える 1

1

私はコーディングに非常に慣れていません

あなたは新しいので、これをデバッグする方法の内訳を説明します。それ自体は答えではないかもしれませんが、少なくともあなたを助けるはずです.


controllerまず、権利とviews設定があることを確認する必要があります。

多くの新しいコーダーにとっての主な問題は、盲目的にチュートリアルに従い、何が行われているかを理解できないことです。私はいつもそうしているので(何か新しいことを学ぶとき)、それがどのようなものかを知っています..

したがって、アプリにが追加され、どのように動作するかを理解する必要があります。


1.コントローラー

最初の呼び出しポートはコントローラーです。

詳細については、こちらをご覧ください。

Rails は以下を作成します。

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

   def help
   end
end

CRUDこれは、後で Rails で使用するセットアップに厳密に準拠しているわけではありませんが、少なくともこれら 2 つのアクションを呼び出すことができるはずです。

まず、上記のファイルがあるかどうかを確認する必要があります。


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ます。


ここに画像の説明を入力
(ソース: asciicasts.com )

500 エラーは基本的に、サーバーにエラーがあることを示しています。

サーバーのどのようなエラーが 500 の問題を引き起こす可能性がありますか?

ほとんどの場合、存在しない変数を呼び出すことが原因です...

#app/views/static_pages/hello.html.erb
<%= @hello %>

を使用している場合Heroku、標準の Rails と同様に、デバッグする最善の方法は、コンソールを確認することです。標準レールでは、コンソールは画面に表示されます (ほとんどの場合)。Heroku の場合は少し異なります。

Heroku のログは、Windows ではうまくフォーマットされないため、奇妙なものです。LogEntries「ライブ」機能を使用して、何が起こっているかを確認し、修正する傾向があります。

ここに画像の説明を入力

これらのログを参照すると、エラーの内容が表示されるため、エラーを修正する方法についてある程度の見通しが得られます。

--

最後に、またはのような宝石を使用したい場合があります。better_errorsexception_handler

于 2015-10-12T09:51:27.603 に答える