0

私は持っている :

class Character < ActiveRecord::Base
  has_many :items, through: :character_items
  has_many :character_item
end

class Item < ActiveRecord::Base
class Weapon < Item
class Armor < Item

私はおしゃべりしたい:

myCharacter.weapons

has_many :weapons, through: :character_items機能しません。アイテムと同じものが必要ですが、「タイプ」列でフィルターして武器オブジェクトのみを取得します。

助けてthx

PS:私はRails 4を使用しています

4

1 に答える 1

1
has_many :weapons, through: :character_items, conditions: {character_items: {type: "weapon"}}, class_name: "Item", source: :item

それが役立つことを願っています

マトリックスからの回答を編集:

 has_many :weapons, { through: :character_items, source: :item }, -> { where(type: 'Weapon') } 
于 2013-06-20T16:06:58.487 に答える