在每个模型上触发控制器操作创建/更新

时间:2016-05-23 17:33:14

标签: ruby-on-rails ruby ruby-on-rails-4 sinatra sequel

下面的语法是Sinatra,但问题也适用于Rails。

多个模型使用after_updateafter_create挂钩。

class MyModel < Sequel::Model
  include ActivityStreams

def after_create
  send_to_event_stream_after_create
end

def after_update
  send_to_event_stream_after_update
end

方法send_to_event_steam_*ActivityStreams模块中定义。

似乎将事件发送到事件流的行为应该是Controller的责任。当创建/更新各种模型时,会发生此操作,并且没有真正的特定于域的行为,以区分更新/创建ModelA或ModelB时发生的情况。

我想干掉几乎所有型号目前乱七八糟的send_to_event_steam_*的重复呼叫,因为创建&amp;更新挂钩在模型中可用。

这种重构是否可行?使用Observable是唯一的方法吗?

0 个答案:

没有答案