Newbee-frage: partials oder yield?

Hallo Forum!
Ich gehe gerade meine ersten Schritte in Rails und habe eine kleine
Anwendung erstellt. Das Layout steht auch soweit.
Nun versuche ich die “Logik” und das Template miteinander zu verknüpfen
und bin da nicht ganz zufrieden.

Am besten ich erkläre mal kurz mein Problem:
Ich habe ein Template für die gesammte Anwendung.
Das ist ganz klassisch aufgeteilt:
Header
Body mit Menü und Inhalt
Footer

Das Menü und der Inhalt ändert sich in jeder View. Header und Body
bleiben gleich.
Ich suche nun nach einem Befehl der in der “application.html.erb”
dynamisch mein Menü und den Inhalt läd.

Den Inhalt bekomme ich mit <%=yield%>, wie bekomme ich ich aber mein
Menü an die richtige Stelle?

Beim Schreiben nachgedacht, geblättert und gelöst.
Die View wird ergänzt:
<%content_for :Menu do%>
bla
bla
bla
<%end%>

und dann in der “application.html.erb” aufgerufen:
<%= yield :Menu %>

Geht das noch eleganter oder ist das ein guter Weg?

Am 23.02.2009 um 16:37 schrieb Jo Das:

Den Inhalt bekomme ich mit <%=yield%>, wie bekomme ich ich aber mein
Menü an die richtige Stelle?

Hängt natürlich vom Menü ab. Wieviele Controller hast du?
Ändert sich das Menü per Controller? Hast du immer ein
Menü?
Ich versuch immer es so einfach wie möglich zu halten, maximal
dass ich pro controller ein eigenes menu partial habe.

und dann in der “application.html.erb” aufgerufen:
<%= yield :Menu %>

Die Namenskonvention wäre ein klein geschriebenes m

ciao, tom


Thomas R. “TomK32” Koll || http://tomk32.de || http://ananasblau.com
just a geek trying to change the world
Skype: TomK32 || Mail: [email protected]
About Thomas R. Koll | Flickr

Danke für die schnelle Antwort

Ich versuch immer es so einfach wie m�glich zu halten, maximal
dass ich pro controller ein eigenes menu partial habe.
Ich habe mein Beispiel für das Forum hier ein wenig vereinfacht. Hab
noch ein Hauptmenü mit grundlegenden Layoutänderungen.

Die Namenskonvention w�re ein klein geschriebenes m

Ja, in meinem prog is das auch so. Aber Danke für den Hinweis

Fürs Menü kannst dir auch mal Cells oder Apotomo anschauen :slight_smile:
Sonst würde ich Header und Footer in eine Partial packen.

Mario

Mario Schröder | http://www.ironschroedi.com/de/
Office: +49 361 2152062
Phone: +49 34464 62301 Cell: +49 163 27 09 807
Willkommen bei XING! | XING

Am 23.02.2009 um 16:37 schrieb Jo Das:

Das Menü und der Inhalt ändert sich in jeder View. Header und Body
bleiben gleich.
Ich suche nun nach einem Befehl der in der “application.html.erb”
dynamisch mein Menü und den Inhalt läd.

application

<%= yield :menu %>

contentseite

<% content_for :menu do %>
<%=render :partial => “layouts/menu” %>

##oder statt dem Partial das menu gleich hier reinschreiben
<% end %>

plus

das partial
_menu

  • <%= link_to 'Magazin', root_path %>
  • etc..

Gruß
Werner

p:S.

super…

Danke für die Hilfe!
Ich schau mir die Lösungsvorschläge gleich mal an.