この質問は、ポリモーフィックな関係の命名スタイルに関するものです。
私のデータベースには、「会社」、クライアント、従業員の 3 種類の人がいます。3 つのそれぞれは、タスクとイベント、およびプロジェクトとポリモーフィックな関係にあります。
Railsガイドによると、これは次のように行われます(簡潔にするためにいくつかのクラスを省略しました):
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
projectable
以下ははるかに文法的で洗練されていると思います...うまくいきますowner
か?
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