2017-01-23 1 views
0

Ich baue eine Jobbörse in Schienen basierend auf PostgreSQL. Ich möchte die Anzahl der Stellenangebote pro Arbeitgeber auf dem Index der Arbeitgeberseite zählen und anzeigen. Was ist der Code für diese Art der Zählung?Wie zähle ich in verschachtelten Ressourcen und zeige die Ergebnisse an?

Ich habe eine verschachtelte Ressource, und mein Arbeitgeber und bieten Modell verbunden sind, durch:

class Employer < ActiveRecord::Base 
    has_many :offers, dependent: :delete_all 
end 

Antwort

1

Sie counter_cache dh Hinzufügen einer zusätzlichen Spalte (offer_count) in Arbeitgeber Tabelle & Aktualisierung der Zähler, während machen Eintrag verwenden sollte Angebotstabelle. Für weitere Informationen, lesen Sie counter_cache in http://guides.rubyonrails.org/association_basics.html

Ihre Migration

def change 
    add_column :employers, :offers_count, :integer, default: 0 
    Employer.reset_column_information 
    Employer.all.each do |p| 
     Employer.update_counters p.id, :offers_count => p.offers.length 
    end 
    end 
+0

Dank mögen sollte. Wie schreibe ich dann einen Befehl zum Abrufen der Daten? Also, wenn ich gut verstehen, ich sollte auf die folgenden: 1) Klasse-Angebot Nikita

+0

Einfach .. Employer.first.offer_count –

Verwandte Themen