rails union hack, jak połączyć dwa różne zapytania

Mam zapytanie, które wyszukuje dwa oddzielne pola w tej samej tabeli ... szukając lokalizacji, które najprawdopodobniej są konkretnym miastem, ale mogą też być krajem ... tzn. Potrzebą dwóch pól.

Tabela wygląda następująco:

Country    City

Germany    Aachen
USA        Amarillo
USA        Austin

Wynik:

Keyword   Sideinfo

Aachen    Germany
USA       Country
Austin    USA
Germany   Country 

Zasadniczo zastanawiam się, czy istnieje bardziej zwięzły sposób, aby to zrobić, ponieważ musiałem użyć dwóch oddzielnych zapytań, a następnie dodać je razem, posortować itp. (Co działa dobrze):

  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

Nie mogłem znaleźć żadnych informacji o tym, jak używać związków ActiveRecord ...

questionAnswers(4)

yourAnswerToTheQuestion