Frage

Ich habe ein Modell, das auf Active und ein anderer auf der Grundlage eines Mogoid :: Dokument. Ist das möglich, einen Verein zusammen zu tun?

Um zum Beispiel der 2 Modelle:

class User < ActiveRecord::Base
  has_one :avatar, :dependent => :destroy
end

class Avatar
  include Mongoid::Document
  field :file_name
end

Und Abrufen des Benutzer Avatar wie folgt aus:

@user.avatar.file_name

Danke!

War es hilfreich?

Lösung

Sie werden nicht in der Lage sein Active Beziehungen zu verwenden.

Sie können immer noch die beiden Objekte verknüpfen Instanz Methoden wie folgt aus:

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

Es wäre interessant, diese in einem Modul zu kapseln:) ...

Andere Tipps

Es ist möglich, mit dem Tenacity gem: https://github.com/jwood/tenacity

Wir haben es in der Produktion für ein paar Monate mit und es funktioniert sehr gut.

War eigentlich nach der gleichen Lösung. dies schrieb https://rubygems.org/gems/mongo_mysql_relations , um es einfacher zu machen - aber es ist im Grunde die gleiche Lösung wie oben angeboten, aber weniger Handbuch.

ist Github unter https://github.com/eladmeidar/MongoMysqlRelations

Nein ist es nicht möglich. Active ist der Verband erwarten ist mit einem AR-Objekt. Sie verwendet werden können Mongoid zu AR beziehen, aber es funktioniert auch nicht jetzt arbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top