2016-07-07 8 views
0

ich zur Zeit eine polymorphe Vereinigung wie dieseRails polymorphe Vereinigung accepts_nested_attributes

class Reading < ApplicationRecord 
    has_one :audio, as: :audioable 
    accepts_nested_attributes_for :audio 
end 

class Audio < ApplicationRecord 
    belongs_to :audioable, polymorphic: true 
end 

In meinem RSPEC Test einrichten, ich habe dies einrichten

@reading = attributes_for(:reading, creator: @user, body: "who let the dogs out? Must be me\n\nMeMeMe") 
@reading[:audio_attributes] = attributes_for(:audio) 

Allerdings erhalte ich die folgenden Fehler, wenn dieses Posting @reading zum reading#create Controller

{:errors=>{:"audio.audioable"=>["must exist"]}} 

Für Nicht-polymorphe Assoziationen Ich habe es geschafft, sowohl die Eltern- als auch die verschachtelten Ressourcen unter Verwendung von inverse_of zu erstellen, aber ich bin nicht sicher, wie es für polymorphe Assoziationen zu tun ist.

Antwort

0

inverse_of kann nicht für polymorphe Verbände verwendet werden, haben Sie bei Single Table Inheritance sah es eine gute Lösung abhängig sein könnte, was Sie versuchen

zu erreichen