Dans ma vue, je dois afficher une liste avec le nom de chaque ville et les services disponibles dans cette zone (Services municipaux) sous chaque nom. Cela implique deux requêtes. Mais, comment puis-je les combiner et montrer cette liste simple?Comment combiner ces deux requêtes dans Rails 3?
Les modèles ...
class City < ActiveRecord::Base
has_many :city_services, :dependent => :delete_all
end
class CityService < ActiveRecord::Base
belongs_to :city
end
Le contrôleur ... C'est là que je besoin d'aide.
@county = params[:county]
@city_ids = City.where("county = ?", @county).map { |c| c.id }
@city_services = CityService.where(:city_id => @city_ids)
Mais, il y a plusieurs services pour chaque ville, donc je ne peux citer que city_services ou villes seront citées à plusieurs reprises.
Assez proche! À l'exception de plusieurs services pour chaque ville, dans les résultats de la requête, certaines villes sont répertoriées deux fois. Y a-t-il un Ruby simple que je peux utiliser pour combiner les résultats de la requête avec la même ville en un seul enregistrement, de sorte que je puisse lister les résultats dans la vue sans que certaines villes apparaissent deux fois? – ac360
Par exemple cette ville a deux services et apparaît deux fois, comment puis-je combiner ces deux résultats ?: #, # –
ac360
À quoi devrait ressembler la liste de résultats? Essayez-vous d'énumérer toutes les villes qui ont un service? Tous les services par ville? – davidrac