مراقبة المستخدم في القضبان
-
02-07-2019 - |
سؤال
لدينا تطبيق يحتوي على قسم إداري واسع النطاق.لقد أصبحنا سعداء قليلاً بالميزات (كما تفعل أنت) ونبحث عن طريقة سريعة وسهلة لمراقبة "من يستخدم ماذا".
من الناحية المثالية، جوهرة بسيطة تسمح لنا بتتبع وحدة التحكم/الإجراءات على أساس كل مستخدم لبناء صورة للميزات المستخدمة وتلك غير المستخدمة.
مافيه شي تنصح فيه ..
شكرًا
دوم
المحلول
لا أعلم أن هناك جوهرة أو مكونًا إضافيًا شائعًا لهذا الغرض؛في الماضي، قمت بتنفيذ هذا النوع من التدقيق باعتباره before_filter
في وحدة تحكم التطبيق:
من الذاكرة:
class ApplicationController < ActionController::Base
before_filter :audit_events
# ...
protected
def audit_events
local_params = params.clone
controller = local_params.delete(:controller)
action = local_params.delete(:action)
Audit.create(
:user => current_user,
:controller => controller,
:action => action,
:params => local_params
)
end
end
يفترض هذا أنك تستخدم شيئًا مثل Restful_authentication للحصول على المستخدم الحالي بالطبع.
يحرر:اعتمادًا على كيفية إعداد الارتباطات الخاصة بك، من الأفضل أن تستبدل بت Audit.create بهذا:
current_user.audits.create({
:controller => controller,
:action => action,
:params => local_params
})
تحديد نطاق الإبداعات عبر جمعيات ActiveRecord == أفضل الممارسات
لا تنتمي إلى StackOverflow