我正在使用設計並創建一個名爲active的用戶字段,該字段爲true或false。我必須在允許用戶登錄前手動使用戶激活(true)。至少這是意圖。我曾經嘗試這樣做...檢查用戶在允許用戶使用設計(導軌)登錄之前是否處於活動狀態
class SessionsController < Devise::SessionsController
# POST /resource/sign_in
def create
"resource/signin CREATE"
self.resource = warden.authenticate!(auth_options)
unless resource.active?
sign_out
redirect_to :sorry_not_active_url
return
end
set_flash_message(:notice, :signed_in) if is_navigational_format?
sign_in(resource_name, resource)
respond_with resource, :location => after_sign_in_path_for(resource)
end
end
然而,這不趕在那裏用戶可以登錄,例如所有的地方,當用戶更改他們的密碼,網站會自動後自動登錄他們進來。但是,如果用戶不活躍,我不希望他們被允許登錄,而是被重定向到sorry_not_active_url。
如果用戶不活躍,防止用戶登錄的最佳方法是什麼?
謝謝。
這太好了!有沒有一種方法來檢查不同的狀態,例如,激活,未激活,未決,通過創建具有4個不同值的字段併爲每個狀態提供不同的消息而被拒絕? – user2012677 2013-04-07 19:55:11
想到它後,我假設我可以使def inactive_message引用一個字段,並且該字段可以爲每個用戶定製一條消息。這看起來是否正確? – user2012677 2013-04-07 22:40:25
聽起來像它會工作 – house9 2013-04-08 02:48:09