Raven
hakkında pek bir fikrim yok, ancak aşağıda, geçerli kullanıcılara bir isteğimiz olan tüm uygulamalarımız üzerinden erişebilmemizin bir yoludur.
Biz bir önbellek görevi gören bir sınıf oluşturduk ve ekler/akım iplik
class CustomCache
def self.namespace
"my_application"
end
def self.get(res)
Thread.current[self.namespace] ||= {}
val = Thread.current[self.namespace][res]
if val.nil? and block_given?
val = yield
self.set(res, val) unless val.nil?
end
return val
end
def self.set(key, value)
Thread.current[self.namespace][key] = value
end
def self.reset
Thread.current[self.namespace] = {}
end
end
Ve sonra, istek alındığında, geçerli oturum için bir onay gerçekleştirilir verileri alır, ve daha sonra kullanıcının modeli Şimdi
def current_user
if defined?(@current_user)
return @current_user
end
@current_user = current_user_session && current_user_session.record
CustomCache.set(:current_user, @current_user)
return @current_user
end
aşağıda önbelleğinde yerleştirilir, sen aşağıdaki kodu kullanarak, uygulamanızda herhangi bir yerden geçerli kullanıcı alabilirsiniz
Bu yardımcı olur
Biz de önce ve istek hizmet edildikten sonra önbelleği sıfırlamak için emin olun, bu yüzden bunu,
CustomCache.reset
Umut. Raylar uygulamalar için
Bu ilginç görünüyor. Devise'nin middleware'de kullanabileceğim bir current_user yöntemi olup olmadığını merak ediyordum. – rohitmishra