1
在我的視圖中,我需要顯示每個城市的名稱以及該區域(城市服務)中每個名稱下方的可用服務。這涉及兩個查詢。但是,我怎樣才能將它們結合起來並顯示出簡單的列表?如何在Rails 3中結合這兩個查詢?
的...模型
class City < ActiveRecord::Base
has_many :city_services, :dependent => :delete_all
end
class CityService < ActiveRecord::Base
belongs_to :city
end
的...控制器這是我需要幫助。
@county = params[:county]
@city_ids = City.where("county = ?", @county).map { |c| c.id }
@city_services = CityService.where(:city_id => @city_ids)
但是,也有每個城市的多種服務,所以我不能只列出city_services,或城市將被多次列出。
八九不離十!除了每個城市有多個服務,所以在查詢結果中我有一些城市列出了兩次。是否有一些簡單的Ruby可用於將查詢結果與同一城市組合到一條記錄中,以便我可以在View中列出結果,而不會讓某些城市顯示兩次? – ac360
例如,這個城市有兩個服務並顯示兩次,我怎麼能結合這兩個結果?:#,# –
ac360
結果列表應該是什麼樣子?你是否想列出所有有服務的城市?每個城市的所有服務? – davidrac