今回のやりたい事は
ログインしていないユーザーは、index,showページのみ遷移できて、newページやeditページに遷移しようとすると強制的にindexページに遷移されるようにします。
方法
以下の処理を行うことで、ユーザーがログインしていない状態でindex,showページ以外に遷移しようとすると、強制的にindexページに遷移されるようになります。
controller.rb
class PracticeController < ApplicationController
before_action :move_to_index, except: [:index, :show]
---省略---
private
def move_to_index
redirect_to action: :index unless user_signed_in?
end
説明
コントローラー内で繰り返し使用されるコードは、private以下でメソッド化します。
最後まで見て頂きありがとうございます!!
この記事が少しでも参考になれば嬉しいです