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.

Reply via email to