ActiveRecord和Mogoid :: Document:association

我有一个基于ActiveRecord的模型,另一个基于Mogoid :: Document。 那可以一起做一个联想吗?

例如,2个型号:

class User  :destroy end class Avatar include Mongoid::Document field :file_name end 

并检索用户的头像像这样:

 @user.avatar.file_name 

谢谢 !

您将无法使用ActiveRecord关系。

您仍然可以使用如下所示的实例方法链接这两个对象:

 class User < ActiveRecord::Base def avatar Avatar.where(:user_id => self.id).first end def avatar=(avatar) avatar.update_attributes(:user_id => self.id) end end 

将它封装在一个模块中会很有趣:)

有可能使用Tenacity gem: https : //github.com/jwood/tenacity

我们已经在生产中使用了几个月,并且它运行良好。

实际上是在同样的解决方案之后 写了这个https://rubygems.org/gems/mongo_mysql_relations以使其更容易 – 但它基本上与上面提供的解决方案相同,但手动较少。

Github位于https://github.com/eladmeidar/MongoMysqlRelations

不,这是不可能的。 ActiveRecord期望关联是AR对象。 您曾经能够将Mongoid与AR相关联,但现在它也无法工作。