簡體   English   中英

使用devise登錄后重定向到當前頁面

[英]Redirecting to current page after sign in using devise

我正在使用devise進行用戶登錄/注冊。 我想從登錄之前的頁面上重定向用戶。 但是設計不能正確重定向。 登錄后,它會登錄用戶,但會在/ user / sign_in頁面上引發錯誤:

“ Firefox已經檢測到服務器正在以永遠無法完成的方式重定向對該地址的請求。”

當我返回並重新加載該頁面時,它顯示用戶已登錄。

我的應用程序控制器如下所示:

class ApplicationController < ActionController::Base
 protect_from_forgery
  def after_sign_in_path_for(resource)
   stored_location_for(resource) || request.referer || root_path
  end
  def after_sign_out_path_for(resource_or_scope)
   request.referrer
  end
end

我在產品購買頁面上使用了引導模式腳本。 它非常適合頁面上的模式腳本中使用的登錄按鈕。 但是會給標題中的登錄按鈕以及應用的每個頁面提供不正確的重定向錯誤。

請問是什么原因?

對於在重定向到登錄頁面之前將存儲用戶位置的方法,您將需要類似以下內容。

  before_filter :store_location

  def store_location
    session[:user_return_to] = request.fullpath
  end

  def after_sign_in_path_for(resource)
   session[:user_return_to] || request.referrer || root_path
  end

當用戶在會話變量中輸入您的網站時,它將存儲位置,然后在用戶登錄后將用戶重定向到該會話變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM