Порядок запроса ROR по ассоциации - PullRequest
0 голосов
/ 21 июля 2010

У меня есть пара отношений рельсов.

class Customer < ActiveRecord::Base
 has_many :sites
end

class Site < ActiveRecord::Base
 belongs_to :Customer
end

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

Заказывается сначала Заказчиком, а затем Сайтами для этого Заказчика.Я не хочу видеть клиентов, у которых нет сайтов.

  • Ball State University - здание студенческого союза
  • Boise State University - администрация
  • Boise State University - студентUnion Building

Я не могу понять, как создать свое утверждение Site.find.

Ответы [ 2 ]

0 голосов
/ 21 июля 2010

Я бы использовал

Site.all(:include => :customer, :order => "customers.name, sites.name")
0 голосов
/ 21 июля 2010

Я бы пошел с чем-то вроде этого:

@sites = Site.find(:all, :joins => :customer, :order => "customers.long_name, sites.long_name")

А потом,

@sites.each { |s| "#{s.customer.long_name} - #{s.long_name}" } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...