ActiveModel的转换责任

时间:2019-03-27 02:30:55

标签: ruby-on-rails ruby model-view-controller activerecord

我有一个Rails应用程序,可以从外部数据源捕获信息。将该信息收集到raw_data属性中,进行保存,并安排一个ActiveJob负责处理。

capture = Capture.create(raw_data: data)
ProcessCaptureJob.perform_later(capture)

稍后在脱机过程中完成数据处理,问题是:谁负责转换?

模型?

def convert
  update(attr1: raw_data['attr1a'] + raw_data['attr1b']
end

还是工作?

def perform(capture)
  capture.attr1 = capture.raw_data['attr1a'] + capture.raw_data['attr1b']
  capture.save
end

ActiveModel背后的想法是,模型负责其所有与数据相关的用例,但这是与数据相关的问题,还是最好将这种责任留给外部工作?

0 个答案:

没有答案