質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.20%

Cloud9でRuby on railsにコードを書いているのですが、 ルーティングエラーが出ます。どこがエラーなのでしょうか?

受付中

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,375

yktd

score 6

前提・実現したいこと

Cloud9でRuby on railsにコードを書いているのですが、
サーバーを立ち上げたら、突然機能しなくなりました。
その前までは正しくサーバーが機能していたのですが、
「Yay!You're on Rails」という画面になってしまいます。
TOPページのURLに飛ぶと、ルーティングエラーが出ます。
何が原因でしょうか?

発生している問題・エラーメッセージ

routes.rb

Rails.application.routes.draw do

  get 'login(.:format)' => "users#login_form"
  post 'login(.:format)' => "users#login"
  post 'logout(.:format)' => "users#logout"

  post 'users/:id/update(.:format)' => "users#update"
  get 'users/:id/edit(.:format)' => "users#edit"
  post '/users/create(.:format)' => "users#create"
  get '/signup(.:format)' => "users#new"
  get '/users/index(.:format)' => "users#index"
  get '/users/:id(.:format)' => "users#show"
  post '/users/:id/destroy(.:format)' => "users#destroy"

  get '/posts/index(.:format)' => "posts#index"
  get '/posts/new(.:format)' => "posts#new"
  get '/posts/:id(.:format)' => "posts#show"
  post '/posts/create(.:format)' => "posts#create"
  get '/posts/:id/edit(.:format)' => "posts#edit"
  post '/posts/:id/update(.:format)' => "posts#update"
  post '/posts/:id/destroy(.:format)' => "posts#destroy"

  get '/top(.:format)' => "home#top"
  get '/about(.:format)' => "home#about"

end
home_controller.rb

class HomeController < ApplicationController

  def top
  end

  def about
  end

end

routes.rbにroot設定を追加してみました。
..中略..
get '/top(.:format)' => "home#top"
get '/about(.:format)' => "home#about"

root to: 'home#top'
end

サーバーを立ち上げると、即座にWe're sorry, but something went wrongという画面に。

その際のログはこちらです。
Started GET "/" for 58.146.3.66 at 2017-11-01 02:53:23 +0000
Cannot render console from 58.146.3.66! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by HomeController#top as HTML
Rendering home/top.html.erb within layouts/application
Rendered home/top.html.erb within layouts/application (0.5ms)
Completed 500 Internal Server Error in 5ms


root設定を削除した状態でサーバーを立ち上げたところ、こんな画面が出てきました。

<html>
  <head>
    <meta charset='utf-8'> 
    <title>Error 502 - Bad Gateway</title>
    <link rel="stylesheet" type="text/css" href="https://cdn.c9.io/errors/style.css" />
    <style type="text/css">
    .error_content {
        background: rgba(255, 255, 255, 0.23);
        padding: 10px;
        width: 641px;
        margin: 25px 0;
        display: none;
    }

    #error-msg {
        display: block;
    }
    </style>
  </head>
  <body class="errorUnknown light">
    <div id="wrapper">
      <h1>Error 502 - Bad Gateway</h1>
      <div class="error_content" id="error-msg">
          <p>Please click <a href="javascript:location.reload(true)">here</a> to try again, if the issue persists please contact <a href="https://c9.io/support">support</a></p>
      </div>

      <a href="http://status.c9.io">Status Page</a> |
      <a href="https://c9.io/support">Support</a> |
      <a href="https://c9.io/dashboard.html">Dashboard</a> |
      <a href="https://c9.io">Home</a>
    </div>
  </body>
</html>

試したこと

補足情報(言語/FW/ツール等のバージョンなど)

Rails version: 5.1.4
Ruby version: 2.4.0

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • yktd

    2017/11/01 22:16

    ありがとうございます。調べてやってみます。

    キャンセル

  • gouf

    2017/11/16 13:24

    これに該当していませんか? : * [Railsで「Cannot render console from Allowed networks」と言われたら - Qiita](https://qiita.com/suin/items/9b567c63af73b235e458)

    キャンセル

  • yktd

    2017/11/16 17:30

    ページが無効になっていて確認できませんが、cannot render~でググって対策してみたのですが、どれも解決には至りませんでした・・・

    キャンセル

回答 2

0

ソースコードを貼る時の注意なのですが、markdown記法で、ソースコードのシンタックスハイライトが効くようにソースコードを貼るといいと思います。

get '/top', to: "home#top"
get '/about', to: "home#about"


上記の記述を削除してみてエラーは出ますでしょうか?
HomeControllerの記述箇所でエラーが見られます

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/06 19:17

    routesを書き直してみましたが、解決できませんでした。引き続き探してみます。

    キャンセル

  • 2017/11/07 13:49

    routes.rbの中を「root to: 'users#login_form'」としてみてエラーは出ますか?

    キャンセル

  • 2017/11/14 21:59

    回答ありがとうございます。しかしながら、依然、エラーが出ます。

    キャンセル

0

root to: 'home#top 
の位置が問題なのではないでしょうか。
一番上に記述して見てください。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.20%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る