2010-07-21 120 views
0

我有幾個鋼軌關係。ROR按關聯查詢訂單

class Customer < ActiveRecord::Base 
has_many :sites 
end 

class Site < ActiveRecord::Base 
belongs_to :Customer 
end 

我希望能夠得到由客戶的長期名稱字段排序站點的列表,然後該網站的長期名稱字段,我想用在一個select元素列表一個頁面,其中各個選項將如下所示。

先由客戶訂購,然後由該客戶訂購網站。我不想看到沒有網站的客戶。

  • 鮑爾州立大學 - 學生會大廈
  • 博伊西州立大學 - 管理
  • 博伊西州立大學 - 學生會大廈

我無法弄清楚如何建立我的Site.find聲明。

回答

0

我會跟somethig是這樣的:

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

然後,

@sites.each { |s| "#{s.customer.long_name} - #{s.long_name}" } 
0

我會使用

Site.all(:include => :customer, :order => "customers.name, sites.name")