0

この関連付けを正しく設定する方法がわかりません。多型has_many:throughを設定するには?

私には、ミュージシャン、バンド、マネージャの3つのモデルがあります。それらのそれぞれは、それらに関連する特定の「レベル」(ストレス、幸福など)を有することができる。

しかし、私は正しく異なるアイテムでレベルを接続し、現在のレベルがであるものを設定し、中間のモデルが存在する必要がある他の3

で自分のレベルに関連するかどうかはわかりません。

私は何らかの種類のhas_manyが必要ですか?これは多態性ですか?そして、私はそれをどのように設定しますか?私が必要とする他のタイプの関連がありますか?

enter image description here

は私が前に同様の質問をしたが、私がやろうとしていたものを説明するの徹底的ひどい仕事をしたので、これは私の第二の試みです。

答えて

1

ItemLevels、それが関連しているかを知るためにタイプを必要とします:

class ItemLevel < ActiveRecord::Base 
    # levelable_id :integer 
    # levelable_type :string(255) 
    belongs_to :levelable, :polymorphic => true 
    has_many :levels 
end 

class Musician < ActiveRecord::Base 
    has_many :levelables 
end 

class Musician < ActiveRecord::Base 
    has_many :levelables 
end 

class Manager < ActiveRecord::Base 
    has_many :levelables 
end 

レベルだけそれをItemLevelかを知る必要があると関連付けられている:あなたが厳密になりたい場合は

class Level < ActiveRecord::Base 
    belongs_to :item_level 
end 

いくつかのバリデーションを行う必要があります。レベルモデルにItemLevelとタイプがインスタンス化されていることを確認してください。

関連する問題