在我的項目中,我使用omniauth-facebook(g +)gems爲用戶提供了在1次點擊中創建accoutns的能力。然而,在用戶登錄Facebook(g +)後,他被重定向到回調網址。在我的情況下,它看起來像www.example.com/users/omniauth_callbacks/facebook
使用omniauth策略的動態回調url
Facebook的行動看起來像
def facebook
@user = User.find_by_email(ENV['omniauth'].email)
if @user
sign_in @user
redirect_to root_path
else
create_user_account(ENV['omniauth'])
end
但不是redirect_to的root_path我想要重新回到用戶的頁面,他叫sign_in過程。我嘗試使用redirect_to:back,但是這會引發錯誤,並帶有空的HTTP_REFERRER。在用戶啓動sign_in過程之前,有沒有其他方式跟蹤控制器和操作,然後將其存儲並在回調後使用?