Rails のdeviseでログインしていないユーザーをログインページへ遷移する方法

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’:ログインページに画面遷移します。