以前にも同じような質問させて頂きましたが、あれから少し勉強しましたが、まだ解決できないため、
質問いたします。
ログイン機能でエラーメッセージを表示させたいです。
ログイン新規登録にはdeviseを使用しました。
新規登録の方は自動的にエラーメッセージが表示できるようになっていましたが、ログインは自動で
メッセージが表示されません。
コントローラーを動かせるようになれば表示出来るかと思うので
ルーティングに
Rails.application.routes.draw do devise_for :users, :controllers => { :sessions => 'users/sessions' root 'tweets#index'
こう言う書き方してみましたが、そうすると下の
root 'tweets#index'
がエラーになってしまいます。。。
sessions/new.html.erb
.new
%h3 ログイン
= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f|
- if @error
.error
= @error
def new
@user = User.find(email: params[:email])
if @user
redirect_to :root
else
@error = "アドレスが間違っています"
render "/login"
end
コントローラーはこのようにしました。 コントローラーの@errorがビューに渡され、エラーメッセージを表示するようにしていますが、表示されません。 deviseを使用しているため、コントローラーが動作していないと思います。 これはコントローラーが動作したらエラーメッセージが表示出来るようになるのでしょうか? それとも記述の間違いでしょうか? ご回答よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。