我编写了一个查询模型A的方法,并根据结果更新/创建模型B上的行。是否应将其添加到模型A或模型B中?
过去我一直在改变模型中放置方法,但不确定这是否是最好的方法。
答案 0 :(得分:0)
为什么不将代码分成两部分,以便一个方法将获得ModelA的查询,另一个方法将创建/更新ModelB的属性,并从ModelA调用ModelB方法。
# ModelA
def method_in_model_a
result = ModelA.where(....)
ModelB.method_in_modelb(result)
end
# ModelB
def self.method_in_model_b(result)
# code to create/update this model object
end