レールアクティブ支援計装

2543 ワード

今日はアクティブサポートインストゥルメントについて簡単に紹介します.我々は、それが本当に何であるか、それを使う方法から始めます.
特定のイベントがレールの中で起こるとき、計装はフックを提供します.また、必要に応じて独自のカスタムイベントを公開することもできます.

動作方法
それは本当に簡単です.あなたがそれをする必要があるすべては、レールが発行するイベントを聞きます.
以下は、私が現在のプロジェクトで実装するアクティビティログ機能です
  • 私はprocess_action.action_controller(Rails特定のイベント)を購読します
  • 私はいくつかの情報をキャプチャし、いくつかのタスクを実行するSidekiqの労働者に渡す
  • # config/initializers/my_event.rb
    
    ActiveSupport::Notifications.subscribe "process_action.action_controller" do |name, started, finished, unique_id, data|
      args = data.slice(:controller, :action, :format, :method, :path, :status)
      args[:payload] = data[:params].except(:action, :controller)
      ActivityLogsWorker.perform_async args
    end
    
    注意
    データは次のキーを持つハッシュです

    それは簡単です.
    詳細はrails official websiteで詳細を読む