Help us understand the problem. What is going on with this article?

Devise でログイン/ログアウト前の場所に確実に戻る方法

More than 1 year has passed since last update.

Devise を使用するとログインした時にログイン前に開いていたページに戻る、いわゆるフレンドリーフォワーディングと呼ばれる機能が最初からある程度有効になっているようだが、 Ajax -> JS のコンボでログインページにリダイレクトしたりすると効かなくなることがある。
解決法は公式 wiki に書かれてる。
今の所問題なく動いてくれてる。

app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
  before_action :store_user_location!, if: :storable_location?
  before_action :authenticate_user!

  private

  def storable_location?
    request.get? && is_navigational_format? && !devise_controller? && !request.xhr? 
  end

  def store_user_location!
    store_location_for(:user, request.fullpath)
  end

  # ログアウトした時もフレンドリーフォワーディング
  def after_sign_out_path_for(resource_or_scope)
    stored_location_for(resource_or_scope) || super
  end
end
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away