سؤال

لدينا تطبيق يحتوي على قسم إداري واسع النطاق.لقد أصبحنا سعداء قليلاً بالميزات (كما تفعل أنت) ونبحث عن طريقة سريعة وسهلة لمراقبة "من يستخدم ماذا".

من الناحية المثالية، جوهرة بسيطة تسمح لنا بتتبع وحدة التحكم/الإجراءات على أساس كل مستخدم لبناء صورة للميزات المستخدمة وتلك غير المستخدمة.

مافيه شي تنصح فيه ..

شكرًا

دوم

هل كانت مفيدة؟

المحلول

لا أعلم أن هناك جوهرة أو مكونًا إضافيًا شائعًا لهذا الغرض؛في الماضي، قمت بتنفيذ هذا النوع من التدقيق باعتباره 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 == أفضل الممارسات

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top