【发布时间】:2012-09-22 07:19:51
【问题描述】:
我正在重新设计我的活动提要,我已经使用 redis 和 rails 实现了逻辑(顺便说一句效果很好),但我仍然不确定如何创建/触发事件。
在我的第一种方法中,我使用了观察者,它的缺点是没有可用的 current_user。而且,无论如何使用观察者都是个坏主意:)
我的首选方法是在控制器中创建/触发事件,看起来应该是这样的:
class UserController < LocationController
def invite
...
if user.save
trigger! UserInvitedEvent, {creator: current_user, ...}, :create
....
end
end
end
触发方法应该
- 使用一些参数创建 UserInvitedEvent。 (:create 可以是默认选项)
- 可以停用(例如停用以进行测试)
- 可以通过例如执行回复
我查看了一些 gem(fnordmetrics,...),但我找不到一个巧妙的实现。
【问题讨论】:
标签: ruby-on-rails ruby