Aus irgendeinem Grund ist der Quelltyp für eine polymorphe has_many :through
Assoziation immer 0, obwohl ein :source_type
festgelegt wurde.Warum ist der source_type für diese polymorphe Assoziation immer 0?
Hier ist, was meine Modelle aussehen ...
Foo:
has_many :tagged_items, :as => :taggable
has_many :tags, :through => :tagged_items
Bar:
has_many :tagged_items, :as => :taggable
has_many :tags, :through => :tagged_items
TaggedItem:
belongs_to :tag
belongs_to :taggable, :polymorphic => true
Tag:
has_many :tagged_items
has_many :foos, :through => :tagged_items, :source => :taggable, :source_type => "Foo"
has_many :bars, :through => :tagged_items, :source => :taggable, :source_type => "Bar"
So nahe, wie ich das ist eine völlig in Ordnung Setup sagen kann, und ich bin in der Lage Tags zu erstellen/hinzufügen, aber die taggable_type
endet immer 0.
Jede Idee ist, warum ist oben? Google hat nichts gefunden.
Ich habe eine Schiene 4 Beispiel mit Tests [hier] (https : //github.com/raviolicode/has_many_polymorphic_example). Überprüfen Sie [getagged_item_test.rb] (https://github.com/raviolicode/has_many_polymorphic_example/blob/master/test/models/tagged_item_test.rb). Meine Tests bestehen. Diese Tests sollten für Sie fehlschlagen? – raviolicode
Ja, das ist fehlgeschlagen, aber ich finde mein Problem. Im Grunde bin ich ein Idiot. Ich habe das Taggable_type-Feld als Ganzzahl verwendet. Do! – hobberwickey
hobberwickey Bitte upvote meine Antwort, wenn Sie denken, dass mein Beispielprojekt Ihnen geholfen hat, Ihre Frage zu lösen :) – raviolicode