I'm extremely new to coding in general - so be gentle.
I'm on Chapter 3, 3.1, in the very end after creating the static_pages
, home and help, by entering $ rails generate controller StaticPages home help
, I cannot then navigate to the page without getting a corresponding 500 Runtime Error, which in turn Killed
the running server.
The "hello" app works just fine and I've had no issues up until now.
Notes: I am following the tutorial on a Windows 7 x64, but I'm taking Hartl's recommendation to use the Cloud IDE with Git, Bitbucket, and Heroku. I did have to run Rails 4.2.1 instead of Rails 4.2.2 however due to an issue when first starting out.
What could I be doing wrong? Please let me know if I need to include any more information, this is all very new to me.
EDIT:
I checked my files again what @Rich Peck stated and theyre all the same except the Routes.rb
file which only has this (which was generated by the system, I'm also omitting all # comments):
Rails.application.routes.draw do
get 'static_pages/home'
get 'static_pages/help'
root 'application#hello'
end
Ive also pulled my logs as stated by a few comments, and this is the result of the last 100 lines:
2015-10-11T21:25:49.589384+00:00 app[web.1]: => Run
rails server -hfor 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
select'
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 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
start'
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 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
run'
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:in 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
tap'
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:in <top (required)>'
2015-10-11T21:59:06.991445+00:00 app[web.1]: bin/rails:8:in
require'
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 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
run'
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:in 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
start'
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:in
tap'
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: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:in <top (required)>'
2015-10-11T22:34:11.813500+00:00 app[web.1]: bin/rails:8:in
require'
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]: => Run
rails server -hfor 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 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]: => Run
rails server -hfor 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:in 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
start'
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:in
run'
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/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:in
block 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:in
tap'
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.
I'm extremely new to coding
Because you're new, I'll give you a breakdown of how I'd debug this. It may not be an answer in itself, but it should at least help you out.
Firstly, you need to make sure you have the right controller
and views
set up.
The main problem for many new coders is they will blindly follow a tutorial and then be unable to understand what is being done. I know what it's like because I do it all the time (when learning something new)..
Thus, you need to understand what is being added to your app, and how it should behave:
1. Controller
Your first port of call is the controller.
You can read more about this here.
Rails will have created:
#app/controllers/static_pages_controller.rb
class StaticPagesController < ApplicationController
def hello
end
def help
end
end
This, although not strictly adhering to the CRUD
setup you'll use later in Rails, should give you at least the ability to call these two actions.
You must first check if you have the above file.
2. Views
Secondly, you need to look at the views you've had generated.
These will be located at:
#app/views/static_pages/hello.html.erb
#app/views/static_pages/help.html.erb
Both of these will provide functionality to allow you to view your controller action outputs. They're not critical to the debug process at this time.
They should really have nothing inside them.
3. Routes
Finally, you want to look at your routes.
#config/routes.rb
resources :static_pages, only: [], path: "" do
collection do
get :hello #-> url.com/hello
get :help #-> url.com/help
end
end
This will give you the ability to access the controller actions, and by virtue, the views that you have just generated.
All of these should work together, without any data, to provide access to url.com/hello
and url.com/help
.
(source: asciicasts.com)
500 Errors are basically saying your server has an error.
What errors on the server might cause the 500 issue?
Mostly, it's due to calling variables which don't exist...
#app/views/static_pages/hello.html.erb
<%= @hello %>
If you're using Heroku
, the best way to debug - as with standard Rails - is to look at the console. In standard rails, the console is visible on your screen (most of the time); with Heroku, it's slightly different.
Heroku logs are strange because they don't format very well in Windows. We tend to use LogEntries
with the "live" functionality to see what's going on, and correct it:
Browsing through these logs will show you what the error is, and thus give you some perspective on how to fix it.
--
Finally, you may wish to use a gem such as better_errors
or exception_handler