2009-07-09 6 views
0

Ich glaube, ich nähere mich dem in die falsche Richtung, weshalb ich keine einfache Lösung finden kann. Ich bin relativ neu in Rails, also ertrage mich.Logik im Schienenlayout?

Ich habe ein Layout, "speichern", das alle üblichen visuellen Elemente für die anderen Controller enthält. In diesem Layout muss ich die Sidebar dynamisch mit Daten aus zwei Modellen, Product und ProductFamily, erstellen. Ich möchte es so ausgeben:

Product Family 
---- Product1 
---- Product2 

Und weiter durch alle relevanten Datensätze.

Ich kann einfach nicht herausfinden, wo ich anfangen soll, die Logik dafür zu schreiben. Geht es im Layout? In einer Steuerung?

Bitte, weisen Sie mich in die richtige Richtung!

Antwort

2

Es ist nicht "logisch" in dem Sinne wir verwenden es, wenn Sie sagen, dass Sie Logik aus den Ansichten halten sollten. Es ist nur eine einfache Wiederholung für die Zwecke der Anzeige, so dass es in der Ansicht gehen würde. Sie würden die Produktlinie übergeben und etwas in der folgenden Richtung tun:

<% @product_line.each do |product| %> 
<%= product.name %> 
<% end %> 

Fügen Sie alle gewünschten Styling und Links hinzu.

+0

So kann ein "Layout" genauso behandelt werden wie eine Ansicht behandelt wird? Ich weiß, wie Datensätze in einer Ansicht durchlaufen werden, aber diese Ansichten sind an einen bestimmten Controller gebunden. In meinem Fall ist es ein allgemeines Element, das aus der Datenbank generiert und auf allen Seiten geteilt werden muss. Aus diesem Grund habe ich mich dafür entschieden, es in eine "Layout" -Schablone anstatt in eine Ansicht zu stellen. Ist es immer noch dasselbe? –

+0

Ich bin ein Doofus, vergiss den obigen Kommentar. Ich habe während des Experimentierens versehentlich eine Klammer auskommentiert, was dazu führte, dass es einen Fehler verursachte, was mich verwirrte. Danke für die Hilfe! –