Alle nach polymorphem Typ in Rails finden?

8

Gibt es eine Möglichkeit, alle polymorphen Modelle eines bestimmten polymorphen Typs in Rails zu finden? Also wenn ich Gruppe, Ereignis und Projekt alle mit einer Deklaration wie:

habe

has_many :assignments, :as => :assignable

Kann ich etwas tun wie:

Assignable.all

... oder

BuiltInRailsPolymorphicHelper.all("assignable")

Das wäre nett.

Bearbeiten:

... so dass Assignable.all [Event, Group, Product] (Array von Klassen) zurückgibt

    
Lance Pollard 23.02.2010, 00:02
quelle

3 Antworten

12

Dafür gibt es keine direkte Methode. Ich habe diesen Affen-Patch für ActiveRecord::Base geschrieben. Dies funktioniert für jede Klasse.

%Vor%

Jetzt können Sie Folgendes tun:

%Vor%     
Harish Shetty 23.02.2010, 01:02
quelle
0

Ich habe eine polymorphe Modellklasse mit einer Methode 'all' erstellt, um dies zu testen.

%Vor%

Hier ist meine App-Einrichtung:

%Vor%     
nanda 23.02.2010 14:58
quelle
-1

Sie sollten nur die zugehörige Sammlung verwenden können:

%Vor%     
Toby Hede 23.02.2010 00:50
quelle