2011-07-01 17 views
7

Rails 3 uygulamasında kullanıyorum.Oturum Açtıktan Sonra Güncelleştirmeleri Güncelle

Ben başarılı bir işareti bir Kullanıcı bazı özellikleri güncellemek istiyorum

ben o şu şekilde yapıyorum:.

def after_sign_in_path_for(user) 
    @user = current_user 
    @user.status = "online" 
    @user.save 

    root_path 
end 
application_controller.rb için

ben kod aşağıdaki eklendi

Bunu yapmak için ve after_sign_in_path öğesini tanımlamak için kullanılan yöntemi kullanmamak için farklı bir yönteme sahip olmak mümkün mü?

Şimdiden teşekkürler!

+3

Kontrol [http://stackoverflow.com/questions/4850057/devise-call-backs](http://stackoverflow.com/questions/4850057/devise-call-backs) – eugen

+0

teşekkürler eugen! Tam olarak aradığım şey bu! –

+1

Eugen, bu soruyu URL’yi işaret ederek cevaplayabilir misiniz? Bu şekilde, bu soru cevapsız sorularda görünmeyecek. –

cevap

3

Bunu, şaka yapmak için kancalarla yapabilirsiniz. Bu cevap dışarı

##config/initializers/devise.rb 

Warden::Manager.after_authentication do |user,auth,opts| 
    user.update_attribute(:currently_signed_in, true) 
end 

Warden::Manager.before_logout do |user,auth,opts| 
    user.update_attribute(:currently_signed_in, false) 
end 
İlgili konular