私の Rails アプリは、auditor gemを次のように使用して、2 つのモデルの変更履歴を取得しています。
@audit = Audit.where( :auditable_id => current_user.posts,
:auditable_type => "Post") +
Audit.where( :auditable_id => @comments,
:auditable_type => "Comment")
@audit
これは機能しますが、変更が行われた時点で変数全体をソートする必要があります。
解決すべき問題が 2 つあります。
- 次の方法は機能しませんでした:
sort
、sort_by
、order
次のどのフィールドで並べ替える必要があるかを把握する必要があります。
=> Audit(id: integer, auditable_id: integer, auditable_type: string, owner_id: integer, owner_type: string, user_id: integer, user_type: string, action: string, audited_changes: text, version: integer, comment: text, **created_at**: datetime) 1.9.3-p194 :002 > Audit.last Audit Load (168.0ms) SELECT "audits".* FROM "audits" ORDER BY version DESC, created_at DESC LIMIT 1 => #<Audit id: 5, auditable_id: 58, auditable_type: "Post", owner_id: 58, owner_type: "Post", user_id: 1, user_type: "User", action: "update", audited_changes: {"status"=>["to approve", "to review"], " **updated_at** "=>[2012-08-24 15:29:26 UTC, 2012-08-24 19:29:52 UTC]}, version: 2, comment: "post modified by Bruno Amaral ", created_at : "2012-08-24 19:29:52">