7

Ich versuche, ein Drop-Down-Auswahlfeld für eine polymorphe Assoziation mit ActiveScaffold zu erstellen.ActiveScaffold: Wie erstellt man ein Drop-down-Menü für die polymorphe Assoziation?

ich habe:

class Award 
    belongs_to :sponsorship, :polymorphic => :true 
end 

class Organization 
    has_many :awards, :as => :sponsorship 
end 

class Individual 
    has_many :awards, :as => :sponsorship 
end 

Bei dem Versuch, ein ausgewähltes Dropdown-Feld in awards_controller erstellen mit:

config.columns[:sponsorship].form_ui = :select 

Ich erhalte die folgende Fehlermeldung:

ActionView::TemplateError (uninitialized constant Award::Sponsorship)

I bin mir nicht sicher, ob es etwas ist, was ich nicht richtig mache oder was ich versuche zu erreichen, nicht direkt in AS unterstützt.

Würde ich wirklich einige Tipps zu schätzen wissen.

+0

Suchen Sie auch nach einer Antwort. Mit .options = jetzt spielen – Devenv

+0

Können Sie die Zuordnung normal abfragen? Funktioniert Award.first.sponsorship? Kannst du Preise und Sponsoren über die Konsole erstellen? –

+0

können Sie bitte den gesamten StackTrace liefern? – Jakub

Antwort

0

Ich bin nicht vertraut mit ActiveScaffold ... Aber, ein schneller Durchlauf in ihrer Dokumentation ergab einen Abschnitt über has_many: durch die ich von ActiveRecords vertraut bin ... also für was es wert ist, ist es möglich, dass Ihr polymorphe Verbände sollten so geschrieben werden ?:

class Organization 
    has_many :awards, :through => :sponsorship 
end 

class Individual 
    has_many :awards, :through => :sponsorship 
end 
0

ich bin nicht sicher, was Sie zu tun versuchen, aber Schienen ist in der Tat wahr, wenn ich sage, dass es keine „. Sponsoring‘

Wenn Polymorphismus verwendet wird, werden von Schienen automatisch zwei Spalten erstellt, in Ihrem Fall: * sponsoring_id * und * Sponsoring_typ *.

Vielleicht möchten Sie eines davon verwenden.

Allerdings bin ich nicht mit ActiveScaffold Form_ui vertraut, so kann ich Ihnen nicht weiter helfen.

0

Ich bekomme diesen Fehler, aber nur wenn ich eine Instanz von Award ohne Sponsoring habe (meine Namen sind anders ...). Vermutlich haben die OP- und Follow-Up-Poster das überstanden, aber für zukünftige Leser sollten Sie keine Instanz des abhängigen Modells erstellen, wenn Sie eine polymorphe Assoziation mit active_scaffold verwenden ...

Verwandte Themen