在没有模型的情况下访问ActiveRecord关联

时间:2013-12-04 19:56:25

标签: ruby-on-rails ruby activerecord

我们正在拆分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关系方法?

1 个答案:

答案 0 :(得分:0)

如果您的bar对象具有#id方法,为什么不通过在该对象类中定义foo实例方法来重新创建关联呢?

class Bar

  # OTM example
  def foo
    Foo.where(bar_id: self.id)
  end

end