2017-02-16 57 views
0

我目前使用Clearance進行身份驗證。作爲登錄過程的一部分,我想確保我有一個用戶位置(存儲在會話中)。Rails 5帶間隙的地理位置

我的問題是如何在清除的情況下做到這一點?理想情況下,我只想在登錄時執行查找(以節省網絡流量/ API調用)。如果我找不到用戶,我會拒絕登錄。

我正在考慮使用guard,但我似乎沒有訪問request.ipsession,這是一個交易斷路器。我還試圖避免重定向到只能進行地理位置的URL,然後再重定向。

任何人都有關於如何使這項工作的好模型的想法?謝謝!

回答

1

登錄警衛主要用於防止或允許登錄的流程。我認爲他們不適合這裏。對於這種使用情況下,我建議壓倒一切sign_in,通常混合到ApplicationController

def sign_in(user, &block) 
    super 

    if signed_in? 
    UserGeocoder.call(current_user) 
    end 
end 
+0

感謝德里克,我會它肯定似乎比衛隊的做法更合適的給這條道路一試。 – krsyoung

+0

爲了記錄這個工作就像一個魅力。 – krsyoung