3

私はRails 3と最新バージョンのDeviseを使用しています.リダイレクトする前にセッション変数を保存する必要がありますAdminController.その上で。どこを上書きしますか?authenticate_user!request.referrerauthenticate_user!

私がやりたいのはこれですが、どこで定義すればよいかわかりません:

def authenticate_user!
  session[:return_to] = request.request_uri
  super
end
4

2 に答える 2

-1

すべてのページビューでリターンページを記録する必要がない、Matt の回答に代わるもの:

application_controller.rb で:

# Only remembers the page immediately before we 
# redirect them for auth, instead of every page view

def authenticate_user!
  session["user_return_to"] = request.fullpath
  super
end

# Deletes the return path as soon as it's used, so 
# they aren't accidentally redirected back again
# next time they login

def after_sign_in_path_for(resource)
  session.delete("user_return_to") || root_path
end
于 2015-04-29T06:46:14.597 に答える