• 締切済み

Rails deviseログイン画面について

deviseをインストールしました。 全ページに認証がかかるように、application_controller.rbの最後に以下を追記しました。 before_action :authenticate_user! すると、表示させたいログイン画面とは別のログイン画面があらわれたのですが、 なぜでしょうか? URLを見ると「http://localhost:3000/users/sign_in」になっています。 どなたか、詳しい方がいらっしゃいましたら、ご教授をお願いします。 【環境】 Ruby 2.2.2 Rails 4.0.13 CentOS6 devise 3.5.1 以上、宜しくお願いします。

みんなの回答

回答No.1

前回の高難易度質問からいきなり、初歩の質問に戻ってきた感じですね。 表示させたいログイン画面というのがどういうものなのか分からないところがありますが deviseは画面からコントローラーから、一通りのことをdevise内部で作ったもので面倒を見てくれるのが強みなので、その流れに一旦従いながら必要な箇所だけカスタマイズをかけていきましょう。 一応、「/users/sign_in」へのルーティングは 「config/routes.rb」の中に「devise_for :users」と書き足してあるかと思いますが ここで設定しています。 そこから呼ばれているアクションは「rake routes」コマンドを使って調べてみてください。 (正解はdevise/sessions#newアクションです) コントローラーとviewはdeviseのgemの中に既に存在しているので、これをカスタマイズしたい場合は、gemの内側から該当のファイルを自分のrailsプロジェクトへコピーしてからカスタマイズをかけて行ってください。 http://qiita.com/akasakas/items/138c29fa2cecd271cfe4

rapport5683
質問者

お礼

いつも、ありがとうございます。 迷走していまして、まずは、deviseを動かしてみる事に注力していきたいと思います。 ご回答、とても助かります。

関連するQ&A