10

この質問は多形性関係ののという名前のスタイルについてです。多形性関係の名前をよく指定する

私のデータベースには、「会社」、クライアント、従業員の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 

私は次のようにはるかに多くの文法的かつエレガントであろうと感じて...それだろうもしそうなら、ownerのような言葉ではなく、公式の出典がprojectableのような言葉を使用する理由がありますか?

+1

'belongs_to:taskable、:as:polymorphic'は間違っていて、' belongs_to:taskable、:polymorphic => true'でなければなりません。 – jdoe

+0

@jdoe - これを反映するようにコードを修正しました。確認してくれてありがとう。 – sscirrus

答えて

4

私は個人的に可能な限り一般的なままにしてください。

だから:as => :ownerは私にとって意味があります。疑わしい場合には

、私はちょうど私はすでにいくつかのプロジェクトで見てきた

:as => :parent 

を使用すると思います。

関連する問題