###実現したいこと
現在、すでにログインしているユーザーは自動でPost/indexへ飛ぶようになっています。
しかし、下記のcheck_userに該当するユーザーは、別画面へ飛ぶ設定をしたいです。
###コード
Controller
1class ApplicationController < ActionController::Base 2 before_action :set_current_user 3 4 def set_current_user 5 @current_user = User.find_by(id: session[:user_id]) 6 @check_user = User.where(id: [1, 2]) #別画面へ送りたいユーザー 7 end 8 9 def authenticate_user #session_idが無ければログイン画面へ 10 if @current_user == nil 11 redirect_to("/login") 12 end 13 end 14 15 def forbid_login_user 16 if @current_user #session_idがある場合 17 if @check_user 18 redirect_to("/check") #@check_userに該当すればcheck画面へ 19 else 20 redirect_to("/posts/index") #ログインは済みユーザーはindexへ 21 end 22 end 23 end 24end
###現状
@check_userで指定されたユーザーのみならず、全ユーザーがredirect_to("/check") に飛ばされます。
また、if @ng == @current_user と書き換えた場合、全ユーザーがredirect_to("/posts/index") に飛ばされます。
お分かりの方、ぜひ宜しくお願い致します。
If @check_user.find_by(id: @current_user.id)
な気がします。
@check_userは必ず、id=1,2のユーザーが存在するはずなので。
間違ってたらすいません。
回答1件
あなたの回答
tips
プレビュー