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">
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
Ahh that works, thanks!
I think I had the general idea but I think every time I tried
@a =
I tried
@a += A.find_by_id(some_id)
while every time I tried
@a << A.find_by_id(some_id)
I never tried the
@a =
....whoops,
thanks for all the help.
Plus never seen @a.compact!, helps a lot
btw, in general what I was looking for was a way to put the .find
methods inside a loop and combine all the results into one result,
everything else was just fluff.