Я хотел получить адреса электронной почты всех клиентов, которые купили наши продукты "foobar".Сначала я попробовал это.Это работало довольно хорошо.
Customer.search(query: "state:enabled").each do |c|
c.orders.map do |o|
o.line_items.each do |i|
t = i.title
p c.email if t.include?("foobar")
end
end
end
Затем я попробовал другой способ, который, по моему мнению, эквивалентен приведенному выше.Но это только привело к подмножеству вышеперечисленного.
Customer.find(:all, params:{state:"enabled"}).each do |c|
c.orders.map do |o|
o.line_items.each do |i|
t = i.title
p c.email if t.include?("foobar")
end
end
end
Мой вопрос таков;В чем разница между Customer.search(...)
, конечной точкой /admin/customers/search.json
и Customer.find(:all, ...)
?
edit: у меня более 50 (ограничение количества возвращаемых значений по умолчанию) клиентов "foobar"продукты, поэтому каждый из них на самом деле является подмножеством всего набора клиентов, удовлетворяющих запросу.Но оба запроса будут иметь одинаковый результат, если нет разницы между Customer.search
и Customer.find
.Или я тут не угадал ??