9

広範な管理セクションを備えたアプリがあります。私たちは機能に満足している小さなトリガーを得て (あなたがそうしているように)、「誰が何を使用しているか」を監視するための迅速かつ簡単な方法を探しています。

理想的には、ユーザーごとにコントローラー/アクションを追跡して、使用されている機能と使用されていない機能の全体像を構築できるシンプルな gem です。

あなたが推奨するものは何でもそこにあります..

ありがとう

ドム

4

1 に答える 1

10

これに人気のある宝石やプラグインがあるかどうかはわかりません。過去に、この種の監査をbefore_filterApplicationControllerとして実装しました。

記憶から:

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 アソシエーションによる作成のスコーピング == ベスト プラクティス

于 2008-09-23T10:11:23.790 に答える