On May 14, 2:09 pm, Hubert Yoshizaki <[email protected]> wrote: > What I want to do is something like this: > > searchid = 4 > while searchid != -1 > @a += A.find_by_someid(searchid) > @b = B.find_by_someid(searchid) > searchid = @b.parentid > end > > The problem being the line > > @a += A.find_by_someid(searchid) > The error being something like > > NoMethodError: undefined method `+' for #<A:0x173f9a0> > > I tried to simply do a @a=[] but then it complains 'A' cannot be > converted into an Array. > > So, how do you combine multiple 'find' requests? > And what format do the finds return if not an array? > The output from a find looks something like: > => #<A id: 99, name: "A Name">
I'm not exactly sure I understand what you're trying to do, but I think you want something like this: @a = [] # start with an empty array @a << A.find_by_id(some_id) # returns an object, or null if not found; push into array @a << B.find_by_id(some_id) # returns an object, or null if not found; push into array @a.compact! # removes null entries from the array Does that help? Jeff www.purpleworkshops.com > Thanks > -- > 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 [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group > athttp://groups.google.com/group/rubyonrails-talk?hl=en. -- 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

