rails union hack, как объединить два разных запроса

У меня есть запрос, который ищет два отдельных поля в одной таблице ... ищет местоположения, которые, скорее всего, являются конкретным городом, но также могут быть страной ... т.е. необходимость двух полей.

Таблица выглядит так:

Country    City

Germany    Aachen
USA        Amarillo
USA        Austin

Результат:

Keyword   Sideinfo

Aachen    Germany
USA       Country
Austin    USA
Germany   Country 

В основном яМне интересно, есть ли более краткий способ сделать это, потому что мне пришлось использовать два отдельных запроса, затем сложить их вместе, отсортировать их и т. д. (который работает нормально):

  def self.ajax(search)
    countries = Location.find(:all, :select=> 'country AS keyword,  "Country" AS sideinfo', :joins => :hotels, :conditions => [ 'hotels.email IS NOT NULL AND country LIKE ?', "#{search}%" ], :group => :country )
    cities = Location.find(:all, :select=> 'city AS keyword, country AS sideinfo', :joins => :hotels, :conditions => [ 'hotels.email IS NOT NULL AND city LIKE ?', "#{search}%" ], :group => :city )
    out = cities + countries
    out = out.sort { |a,b| a.keyword  b.keyword }
    out.first(8)
  end

Я не могнайти информацию о том, как объединить с помощью ActiveRecord ...

Ответы на вопрос(4)

Ваш ответ на вопрос