Чтобы ответить на вопрос, что вы должны искать в Google, объединенные или комбинированные запросы в пределах scope
, вероятно, решат, что вы хотите сделать.Если вы создаете область действия с :or
логикой, объединяющей запросы, по одному для каждого магазина, ограниченного первой записью, вы должны получить то, что ищете.
Я не буду притворяться, что я достаточно хорошо понимаю Geocoder или расширенные области, чтобы сделать это, но я нашел пример, демонстрирующий этот подход, в другой проблеме:
named_scope :or, lambda { |l, r| {
:conditions =>
"annotations.id IN (#{l.send(:construct_finder_sql,{:select => :id})}) or " +
"annotations.id IN (#{r.send(:construct_finder_sql,{:select => :id})})"
}}
Это происходит из-за этого SOвопрос: Объедините две именованные области с ИЛИ (вместо И)
Надеюсь, это поможет вам найти решение.