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

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

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

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

Q&A

解決済

1回答

350閲覧

devise ログイン後画面

tetsuya7724

総合スコア67

Ruby on Rails

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

0グッド

0クリップ

投稿2020/05/05 00:46

前提・実現したいこと

プログラミング初心者です。
rails6にdeviseを導入して、ログイン後の画面を変更したいです。
ネットを探して記事を見つけました。
sign_in_path_forの下にログイン後のパスを入力すればいいと書いていましたが、どこのパスを追記したらいいでしょうか。

ログイン後の画面を/articles/indexにしたくてrails routesでパスを確認したのですが、getの左横のarticlesを追記したらエラーが発生しました。

このパスは何を記入したらいいのでしょうか?初級の質問かもしれませんが教えていただけるとありがたいです。

発生しているエラー

ruby

1NameError in Users::SessionsController#create 2undefined local variable or method ` articles' for #<Users::SessionsController:0x00007fe679a55e80> Did you mean? articles_url 3Extracted source (around line #7): 4 if current_user 5 flash[:notice] = "ログインに成功しました" 6  articles 7 end 8 end

該当のソースコード

ruby

1class Users::SessionsController 2 def after_sign_in_path_for(resource) 3 XXXX_path 4 end 5end

試したこと

articles_pathと記載を変えてみましたが、同じエラーが発生しました。

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

routesがどのように設定されているかわかりませんので、まずはroutesをご提示いただけますでしょうか?

$ rails routes

scaffoldを使った場合やresourcesを利用してルートを設定した場合、
models_pathがindexになりますが、それができていないのであれば、
ルートに問題がある可能性があります。

投稿2020/05/05 01:43

hiyashikyuri

総合スコア388

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

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

tetsuya7724

2020/05/05 01:47

すみません。間違えて送信しました。
hiyashikyuri

2020/05/05 02:29

すみません、ちょっとみにくいのでconfig/routes.rbの中身をいただけますでしょうか?
tetsuya7724

2020/05/08 12:23

hiyashikyuriさん、返信ありがとうございます。 routesにget "/articles/index",to: "articles#index"を追記して、pathの部分をarticles_index_pathにしたらうまくいきました。 一応routes.rbを載せておきます。 Rails.application.routes.draw do  get "/articles/index", to: "articles#index" root 'articles#top' devise_for :users, :controllers => { :registrations => 'users/registrations', :sessions => 'users/sessions' } end
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問