我有一个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背后的想法是,模型负责其所有与数据相关的用例,但这是与数据相关的问题,还是最好将这种责任留给外部工作?