我正在重新設計我的活動飼料,我已經用redis和rails實現了邏輯(很好用的方式),但我仍然不確定如何創建/觸發事件。事件觸發器系統設計在軌道上
在我的第一個方法中,我使用了observer,它的缺點是沒有current_user可用。並且,使用觀察者是一個壞主意,反正:)
我的首選方法是創建/觸發控制器中的事件,這應該是某事像:
class UserController < LocationController
def invite
...
if user.save
trigger! UserInvitedEvent, {creator: current_user, ...}, :create
....
end
end
end
觸發方法應該
- 用一些參數創建UserInvitedEvent。 (:create可以是默認選項)
- 可以被停用(例如,停用以進行測試)
- 可以用例如, resque
我看了一些寶石(fnordmetrics,...),但我找不到一個漂亮的實現。
真棒:)我喜歡那樣。 – fluxsaas