0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

authenticate_user! メソッドが効かない

Posted at

行いたい事

 「出品」ボタンを押したときに、ユーザーがログインをしていなければログイン画面に飛ぶようにしたい。

item_controller.rb
class ItemController < ApplicationController
  before_action :move_to_index, except: :index
  before_action :authenticate_user!, except: :index
    
    def index
    end
  
    def new
    end
  
    def create
    end
    
    private

end

上記の様に

$ authenticate_user! 

メソッドをbefore_actionで書いてみたが、ログイン画面に遷移しない・・・・なぜ??

before_actionの順番を変える事で解決しました。

item_controller.rb
class ItemController < ApplicationController
  before_action :authenticate_user!, except: :index
  before_action :move_to_index, except: :index
    
    def index
    end
  
    def new
    end
  
    def create
    end
    
    private

end

コードは上から順番に読み込まれるので、
ログインページに飛ばしてくれるメソッド  よりも
index以外のアクションをしようものなら問答無用にトップページに飛ばしてしまう  
メソッドが先に働いてしまっていた。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?