2016-12-22 2 views
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입니까?

답변

0

SessionsController에 오류가 있었다 :

redirect_back_or(default)이어야를 redirect_back_or user

관련 문제