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

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

新規登録して質問してみよう
ただいま回答率
85.46%
Devise

Deviseとは、Ruby-on-Railsの認証機能を追加するプラグインです。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

2427閲覧

rails6でdeviseを導入後、Routing Errorが発生するので解消したい

ami09

総合スコア0

Devise

Deviseとは、Ruby-on-Railsの認証機能を追加するプラグインです。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/10/20 09:54

編集2020/10/21 08:46

#前提・実現したいこと
アプリ開発の一環で、ユーザー管理機能を実装すると、http://localhost:3000/でRouting Errorが発生。
以下を行うも解消しないので、改善策をご教授頂きたい。

#発生している問題・エラーメッセージ
Routing Error
No route matches [GET] "/"

#試したこと
###今回の実装は、以下の流れで実施
Gemfileの一番下にgem 'devise'を記述、bundle install
rails g devise:installを実行
rails g devise userコマンドを実行(deviseコマンドでUserモデルを作成)
rails db:migrateを実行(シークエルプロでusersテーブルが作成されていることを確認)
application.html.erbにフラッシュメッセージを追加
rails g devise:viewsコマンド実行
rails g migration AddNameToUser name:stringでnameカラム追加
→rails sの上、localhost:3000を確認するもRouting Error
(ターミナルでコマンド実行後、ログが問題ないことを確認)
rails routesの実行結果
イメージ説明

###見直した点
routes.rbのdevise_for :usersの位置は以下の通り

Rails.application.routes.draw do devise_for :users root to: 'top#index' resources :list

userに関するコントローラー作成は不要という認識でいます。
念のため再度rails s実施

参考記事
リンク内容
リンク内容
リンク内容

#補足情報(FW/ツールのバージョンなど)
OS:Mac
ruby -v ruby 2.6.5p114
rails -v Rails 6.0.3.4

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2020/10/20 10:08

rake routesなどでのルーティング設定の確認は行ってみましたか?
ami09

2020/10/20 10:09

早速コメントありがとうございます! 実施済みです。 念のため、ターミナルの結果画像貼ります。
no1knows

2020/10/20 10:35

root 'top#index'は、topコントローラーのindexアクションを指定しています。 そもそもtopコントローラーのindexアクションはありますか? またあるとするとtopsコントローラーではありませんか?
ami09

2020/10/20 10:39

早速コメントありがとうございます! topコントローラー、indexアクションともに実装済みです。 以下、該当ソースコードです。 top_controller.rb class TopController < ApplicationController def index end end
guest

回答2

0

自己解決

ターミナルのタブを閉じ、新しいタブを開いてrails sを実行したら解消しました!
これまでrails sしたのは、既に動いているサーバーがずっと有効だったようでした。

これで数日悩みました。。。
コメント、ご回答いただいた皆様、ありがとうございました。

投稿2020/10/21 09:02

ami09

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

<routes.rb>の記述ですが、
root 'top#index'ではなく
root to: 'top#index'ではないでしょうか。

投稿2020/10/21 07:33

kavvano

総合スコア47

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ami09

2020/10/21 07:35

早速ご回答ありがとうございます! 実は昨夜投稿後にto:を加えたらどうだろう?と気づきましたが、結果変わらずでした。
kavvano

2020/10/21 07:41

ちなみにviewファイルは作成されているのですよね?
ami09

2020/10/21 08:01

作成できていると思います。 デフォルトで存在するviewファイルに加え、app/views/top/index.erbと、 上記の通りrails g devise:viewsコマンドを実行してdeviseに関するviewファイルがあります
kavvano

2020/10/21 08:06

indexの拡張子は"html.erb"になってますよね? それ以外の問題であれば私にはお手上げです。
ami09

2020/10/21 08:12

失礼しました、先ほどのコメントにhtmlが抜けておりました。 拡張子は問題ないようです。 そうですよね。。。この度はご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問