Forum: Rails Germany newbee-frage: partials oder yield?

Ae95166a462c2aa9197556400f6916aa?d=identicon&s=25 Jodas 26 (jodas)
on 2009-02-23 16:37
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?
978ed7ca309d5495078702096f9add03?d=identicon&s=25 Thomas r. Koll (tomk32)
on 2009-02-23 16:52
(Received via mailing list)
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: tomk32@gmx.de
http://flickr.com/people/tomk32
Ae95166a462c2aa9197556400f6916aa?d=identicon&s=25 Jodas 26 (jodas)
on 2009-02-23 16:59
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
64502c61ed41ff9e917499a2347dd9fe?d=identicon&s=25 Werner Laude (Guest)
on 2009-02-23 17:26
(Received via mailing list)
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

<div id="navi_left" class="sc">
     <%= yield :menu %>
</div>


contentseite

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

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

plus

das partial
_menu

<ul id="navlist">
<li><%= link_to 'Magazin', root_path %></li>
etc..
</ul>

Gruß
Werner

p:S.

http://railscasts.com/

super..
909a70ada757f2fe491fbdb87231fa3f?d=identicon&s=25 Rails Camper (railscamper)
on 2009-02-23 20:25
(Received via mailing list)
Fürs Menü kannst dir auch mal Cells oder Apotomo anschauen :-)
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
http://www.xing.com/go/invite/6035007.9c143c
Ae95166a462c2aa9197556400f6916aa?d=identicon&s=25 Jodas 26 (jodas)
on 2009-02-24 12:20
Danke für die Hilfe!
Ich schau mir die Lösungsvorschläge gleich mal an.
This topic is locked and can not be replied to.