Rails: объединение нескольких запросов на поиск - PullRequest
0 голосов
/ 14 мая 2010

Что я хочу сделать, это примерно так:

searchid = 4

while searchid != -1

  @a += A.find(searchid)
  @b = B.find(searchid)
  searchid = @b.parentid
end

Проблема в том, что линия

@a += A.find(searchid) 

Ошибка что-то вроде

NoMethodError: undefined method `+' for #<A:0x173f9a0>

Итак, как вы объединяете несколько запросов на поиск?

Ответы [ 2 ]

0 голосов
/ 15 мая 2010

Получил работу (с помощью). Сделал следующее:

@a = []

с

@a << A.find_by_something(something)

похоже, сработало. Также используя @a.compact!, чтобы избавиться от пустых записей.

Спасибо за помощь:)

0 голосов
/ 14 мая 2010

Вы должны инициализировать @a = [] как массив до +=.

searchid = 4
@a = []
while searchid != -1

  @a += A.find(searchid)
  @b = B.find(searchid)
  searchid = @b.parentid
end

Вы можете комбинировать их как:

searchid = 4
@a = []
while searchid != -1

  @a += A.find(searchid)
  @a += B.find(searchid)
  searchid = @a.last.parentid
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...