0
class PhotosController < ApplicationController
before_action :logged_in_user, only: [:new, :create]
end
class ApplicationController
def logged_in_user
unless logged_in?
store_location
flash[:danger] = "Please log in."
redirect_to login_url
end
end
end
module SessionHelper
def store_location
session[:forwarding_url] = request.url if request.get?
end
def redirect_back_or(default)
redirect_to(session[:forwarding_url] || default)
session.delete(:forwarding_url)
end
end
class SessionsController
def new
...
redirect_back_or(default)
end
end
私たちはexample.com/photos/new
にアクセスする前にログインする必要があります。new_photo_pathリンクをクリックすると、login_pathにリダイレクトされます。
ログイン後、login_path
にリダイレクトされています。代わりにnew_photo_path
にリダイレクトされたいです。
なぜrequest.url
はexample.com/photos/new
ではありませんか?