class ItemsController < ApplicationController
before_action :move_to_signed_in, except: [:index]
def index
# トップページ生成
end
private
def move_to_signed_in
unless user_signed_in?
#サインインしていないユーザーはログインページが表示される
redirect_to '/users/sign_in'
end
end
before_actionの使い方
before_action :move_to_signed_in, except: [:index]
before_action:コントローラで定義されたアクションが実行される前に、指定した共通の処理を行うことができるメソッド。
except: [:index]:indexアクションは以外のアクション
・indexを除き、他のアクションが実行された時、move_to_signed_inの処理を行います。
move_to_signed_inの実行内容
def move_to_signed_in
unless user_signed_in?
#サインインしていないユーザーはログインページが表示される
redirect_to '/users/sign_in'
end
end
user_signed_in?:ユーザーがログインしているかどうか判別します。
unless user_signed_in?:もしユーザーがログインしていないのなら、
redirect_to ‘/users/sign_in’:ログインページに画面遷移します。