モデルで current_user にアクセスしないように教義が言っていることは知っていますが、完全には同意していません。たとえば、Rails コールバックを介してアクションが発生したときに、一連のログ関数を作成したいと考えています。または、オブジェクトに複数の人が書き込むことができる場合に、誰が変更を書いたかを単純に書きます (単一の所有者を持つメッセージとは異なります)。多くの点で、私は current_user をアプリケーションの構成と見なしています。つまり、このアプリをこのユーザーに応答させます。本当に場違いに見えるアクションではなく、モデル DSL を介してログを記録したいと思います。私は何が欠けていますか?
このアイデアはかなり洗練されていないようですモデルの current_user にアクセスします
これもそうです:http://rails-bestpractices.com/posts/47-fetch-current-user-in-models
どうも
編集#1 したがって、私の質問は、監査/ロギングを実行できる宝石があるかどうかではありません。私は現在 paper_trail を使用しています (ただし、約 10 行の Ruby コードで同じ機能を実行できるため、それから離れています)。モデルで current_user にアクセスしてはならないかどうかが重要です。基本的には、コントローラー コードを削減し、ロジックをあるべきモデルにプッシュ ダウンしたいと考えています。これの一部は、RoR が何年にもわたって多くの機能を追加してきた、基本的にデータベース テーブルのラッパーである ActiveRecord の歴史によるものかもしれません。