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


On Apr 16, 9:49 pm, Scott Kulik <rails-mailing-l...@andreas-s.net>
wrote:
> Harold wrote:
> > The find's :select option is ignored when you combine it with
> > the :include option.
>
> > On Apr 16, 8:58 pm, Scott Kulik <rails-mailing-l...@andreas-s.net>
>
> thanks.  i removed the include and did my joins manually.  i guess
> that's probably the best way:
>
>     find(:all,
>          :select => 'item_types.name, items.id, items.name',
>          :joins => 'join item_types on items.item_type_id =
> item_types.id',
>          :conditions => ['item_types.name = ? OR item_types.name = ? OR
> item_types.name = ? OR item_types.name = ?', 'Material', 'Weapon',
> 'Armor', 'Accessory'],
>          :order => 'items.name')
> --
> Posted viahttp://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to