Modelの差分を残してくれる便利なgem、paper_trailですがデフォルトだと何でも保存対象にしてしまいます。
特定のカラムだけ保存したい場合は:onlyオプション付きで呼び出します。
has_paper_trail :only => [:name]
カラムの内容に動的に対応したい場合はProcオブジェクトで生成する方法などもあるようです。
has_paper_trail :only => [:title => Proc.new { |obj| !obj.title.blank? } ]
上の例では、titleが空の場合無視するという処理を追加しています。
基本は:onlyだけで事足ります。
が、もう少し細かく制御したい場合、他のオプションとして
- :ignore
- skip
があります。
前者は追加変更の余地があり、後者は完全無視という違いのようです。
これらについては執筆時点で勉強中です。
使い方が明確になり次第別途記事にします。