query pulling too many fields

The find's :select option is ignored when you combine it with the :include option.

The whole operation smells like a somewhat premature operation, unless either Item or ItemType has a whole bunch of fields you didn't mention. Why not just let AR work the way it does?

Item.find(:all, :include => :item_type, :conditions => { :'item_types.name' => %w(Material Weapon Armor Accessory) })

(that last bit changes the chain of 'OR's above into an IN statement, which is a cheap optimization, and easier to change later...)

--Matt Jones