我们正在拆分Rails项目。以前是一些Active Record模型的数据现在可以通过外部API访问。是否有一种简单的方法可以保持所有原始关联的正常工作?
例如,我们从一个典型的开始:
class Foo < ActiveRecord::Base
has_many :bar
end
但现在Bar
已不在我们的数据库中。因此,要从Foo
访问Bar
,我们必须致电Foo.where(bar_id:bar.id)
或Foo.find(bar_id:bar.id)
,具体取决于OTM或MTM,以前我们可以调用bar.foos
1}}或bar.foo
。
这样做的好方法是什么?当Bar不再是ActiveRecord模型时,是否有一种简单的方法来提供所有has_many关系方法?
答案 0 :(得分:0)
如果您的bar
对象具有#id
方法,为什么不通过在该对象类中定义foo
实例方法来重新创建关联呢?
class Bar
# OTM example
def foo
Foo.where(bar_id: self.id)
end
end