Diese Frage bezieht sich auf die Benennungsart von polymorphen Beziehungen.Polymorphe Beziehungen gut benennen
Meine Datenbank enthält drei Arten von Personen: ein "Unternehmen", einen Kunden und einen Mitarbeiter. Alle drei stehen in polymorphen Beziehungen zu Aufgaben und Ereignissen sowie zu Projekten.
Nach den Rails Guides, würde das so geschehen (ich einige Klassen der Kürze halber weggelassen haben):
Person.rb
has_many :tasks, :as => :taskable
has_many :events, :as => :eventable
has_many :projects, :as => :projectable # awkward names
Task.rb
belongs_to :taskable, :polymorphic => true
These lead to the rather strange:
@person = @task.taskable
Ich glaube, dass die folgenden wäre viel mehr grammatische und elegant sein ... wäre es Arbeit, und wenn ja, gibt es einen Grund, dass offizielle Quellen Wörter wie projectable
anstatt Wörter wie owner
verwenden?
Person.rb
has_many :tasks, :as => :owner
has_many :events, :as => :owner
has_many :projects, :as => :owner
Task.rb
belongs_to :owner, :polymorphic => true
This creates the elegant:
@person_1 = @task.owner
@person_2 = @project.owner
Ich habe den Rails Guide über Assoziationen überprüft und es heißt: 'gehört zu: taskable,: as =>: polymorph 'ist falsch und sollte sein:' gehört zu: taskable,: polymorph => true'. – jdoe
@jdoe - Ich habe den Code korrigiert, um das widerzuspiegeln. Danke für das Kontrollieren. – sscirrus