Railsチュートリアル第2章にて、scaffoldでUserモデルを作成してHerokuにPushしたのですが、http://既存のURL/usersと入力してもアクセスできませんでした。
scaffoldだし後回しにするかと思い、第3章に取り組みましたがここのappの/homeにも行けませんでした。
※第2・3章ともにHerokuにPushするまでは同じですので以下、第3章のみ記入します。
######作業
$ rails 5.1.6 new sample_app
Gemfileの書き足し
source 'https://rubygems.org' gem 'rails', '5.1.6' gem 'puma', '3.9.1' gem 'sass-rails', '5.0.6' gem 'uglifier', '3.2.0' gem 'coffee-rails', '4.2.2' gem 'jquery-rails', '4.3.1' gem 'turbolinks', '5.0.1' gem 'jbuilder', '2.7.0' group :development, :test do gem 'sqlite3', '1.3.13' gem 'byebug', '9.0.6', platform: :mri end group :development do gem 'web-console', '3.5.1' gem 'listen', '3.1.5' gem 'spring', '2.0.2' gem 'spring-watcher-listen', '2.0.1' end group :test do gem 'rails-controller-testing', '1.0.2' gem 'minitest', '5.10.3' gem 'minitest-reporters', '1.1.14' gem 'guard', '2.13.0' gem 'guard-minitest', '2.4.4' end group :production do gem 'pg', '0.20.0' end # Windows環境ではtzinfo-dataというgemを含める必要があります gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
$ bundle install --without production
$ bundle update
$ git init
$ git add -A
$ git commit -m "メッセージの内容"
次に、コントローラーとルートの設定
- app/controllers/application_controller.rb
Ruby
1class ApplicationController < ActionController::Base 2 protect_from_forgery with: :exception 3 4 def hello 5 render html: "hello, world!" 6 end 7end
- config/routes.rb
Ruby
1Rails.application.routes.draw do 2 get 'static_pages/home' 3 get 'static_pages/help' 4 root 'application#hello' 5end
$ rails generate controller StaticPages home help
- app/controllers/static_pages_controller.rb
Ruby
1class StaticPagesController < ApplicationController 2 def home 3 end 4 5 def help 6 end 7end
(ファイルオープンコマンドで確認済み)
$ git commit -am "メッセージの内容2"
$ git push
$ heroku create
$ git push heroku master
$ rails s
でURLに行きましたが、"Hello,World"は表示されますが、ルートURLにはいけませんでした。
試したこと
1.まずは落ち着いて $ git status
→nothing to commit, working tree clean
2.Herokuサーバーの再起動
こちら(リンク)にあるように、
$ heroku ps
$ curl -v -I https://自分のHerokuURL
$ heroku ps:scale web=0
$ heroku ps
$ heroku ps:scale web=1
$ heroku ps
を実行したが反映されず。。
3.Herokuの作り直し
$ heroku apps
$ heroku destroy (appname)
$ heroku create
$ git push heroku
を実行したが反映されず(リンク)。。
原因も含めて対処方法を教えてもらえると後学のためになるので宜しくお願い致します。
追記
修正依頼で頂いたheroku logs --tailを打ったら
2020-03-03T22:53:53.230551+00:00 app[web.1]: I,[2020-03-03T22:53:53.230278 #4] INFO -- : [730e6aee-90fe-4a7c-91f2-cae91c6d02e6] Started GET "/" for 175.130.222.181 at 2020-03-03 22:53:53 +0000 2020-03-03T22:53:53.243838+00:00 app[web.1]: I, [2020-03-03T22:53:53.243695 #4] INFO -- : [730e6aee-90fe-4a7c-91f2-cae91c6d02e6] Processing by ApplicationController#hello as HTML 2020-03-03T22:53:53.255226+00:00 app[web.1]: I, [2020-03-03T22:53:53.255097 #4] INFO -- : [730e6aee-90fe-4a7c-91f2-cae91c6d02e6] Rendering html template 2020-03-03T22:53:53.255567+00:00 app[web.1]: I, [2020-03-03T22:53:53.255483 #4] INFO -- : [730e6aee-90fe-4a7c-91f2-cae91c6d02e6] Rendered html template (0.0ms) 2020-03-03T22:53:53.257171+00:00 app[web.1]: I, [2020-03-03T22:53:53.257081 #4] INFO -- : [730e6aee-90fe-4a7c-91f2-cae91c6d02e6] Completed 200 OK in 12ms (Views: 1.5ms) 2020-03-03T22:53:53.555613+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=warm-wildwood-90749.herokuapp.com request_id=75611fc8-0e29-4f08-b0e2-7762daedb4e7 fwd="175.130.222.181" dyno=web.1 connect=1ms service=27ms status=304 bytes=48 protocol=https 2020-03-03T22:55:03.333950+00:00 heroku[router]: at=info method=GET path="/static-pages/home" host=warm-wildwood-90749.herokuapp.com request_id=d2d987ac-5a4f-4eb7-99da-8510a1570b14 fwd="175.130.222.181" dyno=web.1 connect=0ms service=4ms status=404 bytes=1902 protocol=https 2020-03-03T22:55:03.332590+00:00 app[web.1]: I, [2020-03-03T22:55:03.332462 #4] INFO -- : [d2d987ac-5a4f-4eb7-99da-8510a1570b14] Started GET "/static-pages/home" for 175.130.222.181 at 2020-03-03 22:55:03 +0000 2020-03-03T22:55:03.334606+00:00 app[web.1]: F, [2020-03-03T22:55:03.334534 #4] FATAL -- : [d2d987ac-5a4f-4eb7-99da-8510a1570b14] 2020-03-03T22:55:03.334707+00:00 app[web.1]: F, [2020-03-03T22:55:03.334643 #4] FATAL -- : [d2d987ac-5a4f-4eb7-99da-8510a1570b14] ActionController::RoutingError (No route matches [GET] "/static-pages/home"): 2020-03-03T22:55:03.334793+00:00 app[web.1]: F, [2020-03-03T22:55:03.334733 #4] FATAL -- : [d2d987ac-5a4f-4eb7-99da-8510a1570b14] 2020-03-03T22:55:03.334918+00:00 app[web.1]: F, [2020-03-03T22:55:03.334838 #4] FATAL -- : [d2d987ac-5a4f-4eb7-99da-8510a1570b14] vendor/bundle/ruby/2.5.0/gems/actionpack-5.1.6/lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call'
のようなコードがあったのですがこれが原因でしょうか?
webページエラーは(404)です。
回答2件
あなたの回答
tips
プレビュー