2012-04-13 6 views
0

Ich benutze DataMapper mit dem Redis-Adapter in einer Ruby-Bibliothek.DataMapper Redis: Kind von Eltern nicht finden, nur Eltern von Kind

Ich habe diese Klassen definiert:

class Zone 

    include DataMapper::Resource 

    property :id, String, :key => true, :unique_index => true, :default => lambda { |x,y| UUID.new.generate } 
    property :preview_mode, Boolean, :default => false 

    timestamps :at 

    has 1, :campaign 
end 

und

class Campaign 

    include DataMapper::Resource 

    property :id, String, :key => true, :unique_index => true, :default => lambda { |x,y| UUID.new.generate } 
    property :name, String 

    timestamps :at 

    belongs_to :zone 
    has n, :rules 

    validates_presence_of :name 
end 

Ich bin in der Lage Campaign.first.zone zu tun, aber nicht Zone.first.campaign.

Ich möchte in der Lage sein, die Lookups in beiden Richtungen zu tun.

+0

Ihr Code scheint hier zu arbeiten. Was ist der Fehler, den Sie bekommen? –

+0

@AdielMittmann - Es gibt keinen Fehler, aber der Code verhält sich nicht so, wie ich es erwarte. Ich möchte in der Lage sein, ein Kind von einem Elternteil sowie ein Elternteil von einem Kind aufzublicken. Momentan arbeiten nur Child-Parent-Lookups mit dieser Konfiguration. – lightyrs

+0

Aber was passiert, wenn Sie etwas wie 'puts Zone.first.campaign.name' machen? Nach dem Erstellen einer Zone und einer Kampagne, in meinem Setup dieses Stück Code tut die Suche wie erwartet :) –

Antwort

1

@lightyrs Ich habe auf Ihr GitHub Problem geantwortet, aber als Referenz hier, ich denke, dieses Problem wurde in Versionen> 0.8 behoben, die bessere Unterstützung für nicht serielle Primärschlüssel haben.

Prost! - whoahbot