2012-03-09 105 views
1

我需要使用關聯來監視活動記錄級別上的用戶更改。此更改應顯示在頁面等流上。由於每個用戶在我的應用程序的不同區域都有不同的權限,因此審計流必須限制爲他們的權限。審覈和顯示AR更改的最佳做法是什麼?

我知道Paper trail(不適用於所有類型的關係:(),Vestal版本,acts_as_audit等等,但不知道使用這個寶石的最佳做法是什麼,如我的情況所述。

什麼是審計AR的變化,包括與不同用戶權限的活動流?

+0

看看這個演示http://www.slideshare.net/danmckinley/etsy-activity-feeds-architecture。它描述了接近您需求的活動流體系結構。希望你會發現它有用。 – welldan97 2012-03-09 07:28:17

+0

謝謝,讀起來很有趣。但是這對我的要求似乎有點過分了。 – tonymarschall 2012-03-15 15:42:02

回答

1

審計AR活動的一種簡單方法是通過導軌和Observer提供。

觀察允許協會和顯示器的最佳實踐在模型上添加回調函數。然後您可以更新活動模型允許查看已更改。請注意觀察者獨立於控制器。什麼或誰改變你的模型應該通過你的觀察者。缺點是它會減慢你的應用程序。

更高效但更復雜的方法是使用EventMachine。關於它的介紹見this article

EventMachine和Observer之間的一種方式可能是使用delayed jobs和Observers。如果您在審計時必須計算某些內容,它可以讓您做到這一點,而不會像沉睡的烏龜那樣拖慢應用程序的運行速度。關於延遲工作有一些好的提示here

相關問題