皆さん、こんにちは。
Rails 5 アプリケーションの .log 内にログ プロセスを作成していますapplication controller
。プロパティを持つ多くのコントローラー内でログプロセスを呼び出したいので、そこに作成していbefore_save
ます。form
ログには、ユーザーがon で実行した変更が保存されedit view template
ます。<ObjectController:>
中身が入らないのが難点application controller
。コントローラーから既に取得していますが、コントローラー オブジェクトから取得する必要があるため、これもinstance variable
必要です。ユーザーが入力フィールドに挿入したすべてのデータを保持します。ObjectController
strong parameters
strong parameters
これは私がすでにやったことです:
アプリ/コントローラー/アプリケーション コントローラー
def log
@controlr = instance_variable_get("@#{controller_name.singularize}") #get the edited object
attribs = @controlr.attribute_names #get object table column names
edited_data = controlr_params #stuck here!
ctrlr = @controlr.attributes #retrive object data from db
...
##compare the edited_data with the actual data from db and check if something was changed
end
そのため、ユーザーがデータを編集したかどうかを比較するために、強力なパラメーターにアクセスするためのコントローラー オブジェクトを取得する必要があります。これがこれを行うための最良の方法/プラクティスであるかどうかはわかりません。もっと良い方法があれば、知りたいです。しかし、データ ログを必要とする多数のコントローラーでこのプロセスを呼び出す必要があります。
お時間をありがとうございました。下手な英語で申し訳ありません..