2017-06-08 3 views
0

Ich brauche einen Vorschlag, wie ich die folgende Situation lösen könnte:Schienen: komplexe Ansicht mit drei Modellen

Ich habe einen Mitarbeiter, die has many Fähigkeiten through employeeskillsets. Jede Fähigkeit belongs to eine Kategorie. Die Kategorien sind selbstreferenziert, daher ist die folgende Struktur möglich (klassifiziert als Topkategorie-Kategorie-Unterkategorie).

category1 
| 
-skill1, skill2, skill3 
-category2 
    | 
    -category3 
    -category4 
    | 
    -skill4, skill5 
    -category5 
-category6 
category7 
| 
-skill6, skill7 

Kurz gesagt, werden die Modelle wie dieses employee-skill-category Meiner Ansicht nach im Zusammenhang Ich mag würde die Fähigkeiten, für jeden Mitarbeiter mit der entsprechenden Kategorie zu jeder Fähigkeit aufzulisten.

Hat jemand eine Idee, wie ich das lösen könnte? Außerdem sollten nur die Kategorien angezeigt werden, in denen der Mitarbeiter Fähigkeiten besitzt.

Wenn mehr Infos benötigt werden, würde ich diese sicherlich bearbeiten.

Vielen Dank im Voraus.

Antwort

0

Sie die db in Ihrem Controller

@employees = Employee.includes(skills: :category) 

aus Ihrer Sicht abfragen können, müssen Sie nur über sie zu Schleife und die Werte angezeigt werden z.B. geben Sie die Schleifenstruktur, müssen Sie es basierend auf Ihrer Ansicht und Attribute zu manipulieren.

@employees.each do |employee| 
    employee.name 
    employee.skills.each do |skill| 
    skill.name 
    skill.category.name 
    end 
end 
+0

Vielen Dank für Ihre Hilfe. Irgendwie muss ich jede Kategorie durchgehen und jede Fähigkeit/Kategorie innerhalb dieser Herkunftskategorie auflisten. Aber wie ich es verstehe, kann ich 'each' nur für Sammlungen verwenden und in diesem Fall wähle ich Kategorie als Singular. Ich fühle mich wie mein Gehirn ist verdreht ... – Fast

Verwandte Themen