.contacts
Methode liefert eine Sammlung von Contact
Objekte mit Ihrem Project
Modell zugeordnet.
Sie müssen eine has_many :contacts
Beziehung dort auf Ihrem Project
Modell definiert haben (app/models/project.rb
) und belongs_to :project
auf Ihrem Contact
Modell (app/models/contact.rb
).
Dieser Verein ist eine Active Abstraktion für die Beziehung zwischen der projects
und contacts
Tabelle auf Ihrer Datenbank, was bedeutet, dass eine Zeile auf projects
Tabelle (dh ein Project
Objekt) viele Kontakte (dh viele Zeilen auf contacts
Tabelle) haben kann, basierend auf ein Fremdschlüssel project_id
auf der contacts
Tabelle.
Im Code @contacts = Project.find(params[:project_id].to_i).contacts
die find
Methode gibt ein einzelnes Objekt (Project
Modell) von Ihrer projects
Tabelle mit dem Wert der Spalte id
als params[:project_id]
geben. Dann gibt .contacts
alle zugehörigen Zeilen aus der Tabelle contacts
zurück (Zeilen mit dem Wert project_id
entsprechen params[:project_id].to_i
).
In einer einzigen Tabelle Schienen activecord Operation, Die folgende Zeile gibt die gleiche Liste der Zeilen von contacts
Tabelle mit Spalte project_id
mit Wert params[:project_id].to_i
als die Zeile in Ihrer Frage.
@contacts = Contact.where(project_id: params[:project_id].to_i)
Dies gibt alle Zeilen in contacts
Tabelle den Wert der Spalte gleich project_id
params[:project_id].to_i
aufweist.
Schienen verfügt über hervorragende Dokumentationen auf activerecord associations und active record
stellen Sie sicher, eine Antwort zu wählen, die am besten zu Ihrer Frage passt und markieren Sie es. Auf diese Weise können Sie anderen Benutzern mitteilen, dass Ihr Problem gelöst ist. –