私はstate_machinegemを使用しており、すべての状態遷移を保存したいと思います。
遷移:文字列from_state:stateを使用してMyClassTransitionという新しいモデルを作成するだけの問題ですか?移行時に新しいテーブルに新しいレコードを追加しますか?
これらの遷移を保存するためのより良い方法はありますか?一種のログが必要です...
任意の推奨事項を歓迎します。
私はstate_machinegemを使用しており、すべての状態遷移を保存したいと思います。
遷移:文字列from_state:stateを使用してMyClassTransitionという新しいモデルを作成するだけの問題ですか?移行時に新しいテーブルに新しいレコードを追加しますか?
これらの遷移を保存するためのより良い方法はありますか?一種のログが必要です...
任意の推奨事項を歓迎します。
これを自分で発明する代わりに、ペーパートレイルのようなものを見てみませんか。これは、すべての変更を記録するために使用するものであり、ロールバックすることができます。
Railscastsにはすばらしいチュートリアルがあります。
https://github.com/wvanbergen/state_machine-audit_trailもご覧ください。
Papertrailとは異なり、state属性のみをログに記録し、rollback / undo/revertをサポートしていません。ロールバックが必要ない場合は、より簡単です。
また、他のモデルに影響を与えるbefore / after_transitionコールバックを使用している場合は、Papertrailのロールバックシステムを利用できません。