Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort des Fachgutachters
Einleitung
1 Einführung
2 Installation
3 Erste Schritte
4 Einführung in Ruby
5 Eine einfache Bookmarkverwaltung
6 Test-Driven Development
7 Rails-Projekte erstellen
8 Templatesystem mit ActionView
9 Steuerzentrale mit ActionController
10 Datenbankzugriff mit ActiveRecord
11 E-Mails verwalten mit ActionMailer
12 Nützliche Helfer mit ActiveSupport
13 Ajax on Rails
14 RESTful Rails und Webservices
15 Rails mit Plug-ins erweitern
16 Performancesteigerung
17 Sicherheit
18 Veröffentlichen einer Rails-Applikation auf einem Server
Ihre Meinung?

Spacer
 <<   zurück
Ruby on Rails 2 von Hussein Morsy, Tanja Otto
Das Entwickler-Handbuch
Buch: Ruby on Rails 2

Ruby on Rails 2
geb., mit DVD
699 S., 39,90 Euro
Rheinwerk Computing
ISBN 978-3-89842-779-1
Online bestellenPrint-Version jetzt bestellen
* versandkostenfrei in (D) und (A)
Pfeil 8 Templatesystem mit ActionView
  Pfeil 8.1 ERB-Templates
  Pfeil 8.2 Erstellung von Templates
  Pfeil 8.3 Helper
  Pfeil 8.4 Layouts
  Pfeil 8.5 Formulare
  Pfeil 8.6 Partials
  Pfeil 8.7 Alternative Template-Systeme


Rheinwerk Computing - Zum Seitenanfang

8.4 Layouts  topZur vorigen Überschrift

Mehrseitige Websites enthalten immer Designelemente, die auf allen Seiten oder zumindest auf den meisten Seiten vorkommen. Damit Sie den entsprechenden Code nicht in allen Templates einfügen müssen, was auch dem DRY-Prinzip widersprechen würde, können Sie ihn in Layout-Dateien auslagern.

application. html.erb

Eine Layout-Datei können Sie im Verzeichnis app/views/layouts anlegen. Sie nennen sie entweder wie einen Ihrer Controller (wie z. B. flights.html.erb für den Flights-Controller), dann wird dieses Layout automatisch auf alle Views zu dem entsprechenden Controller angewendet, oder Sie nennen die Datei application.html.erb, dann wird sie automatisch auf alle Views der Applikation angewendet.

yield

Innerhalb der Layout-Datei müssen Sie an der Stelle, an der der Quelltext aus den Templates eingefügt werden soll, yield aufrufen:

Listing  app/views/layouts/employees.html.erb

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»>
<html xmlns="http://www.w3.org/1999/xhtml"
      xml:lang="en" lang="en">
<head>
  <meta http-equiv="content-type"
        content="text/html;charset=UTF-8">
  <title>Employees: <%= controller.action_name %></title>
  <%= stylesheet_link_tag 'scaffold' %>
</head>
<body>
<p style="color: green"><%= flash[:notice] %></p>

<%= yield  %>

</body>
</html>

Alle Instanzvariablen, die im Controller gesetzt werden, stehen in der Layout-Datei zur Verfügung.

layout "admin"

Wenn Sie auf die Views eines Controllers ein anderes Layout als sein eigenes oder das der application.html.erb anwenden möchten, müssen Sie das im Controller über den Aufruf der Methode layout, der Sie den Namen des Layouts ohne Dateiendung übergeben, deklarieren. Hätten wir zum Beispiel ein Layout app/views/layouts/admin.html.erb definiert, das wir für die Views des Controllers Employees-Controller nutzen wollten, müssten wir Folgendes im Controller deklarieren:

class EmployeesController < ApplicationController

  layout "admin"
  ...

end

:only

Wenn Sie ein Layout nur auf bestimmte Views anwenden möchten, können Sie die Option :only verwenden:

class EmployeesController < ApplicationController

  layout "admin", :only => [:edit, :new]
  ...

end

:except

Um hingegen das Layout auf alle Views, bis auf ein paar Ausnahmen, festzulegen, verwenden Sie die Option :except:

class EmployeesController < ApplicationController

  layout "admin", :except => [:index, :show]
  ...

end

Bei einem Element kann das Array auch weggelassen werden, wie z. B.

layout "admin", :except => :index.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
 <<   zurück
  Zum Katalog
Zum Katalog: Ruby on Rails 2
Ruby on Rails 2
Jetzt bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Ruby on Rails 3.1






 Ruby on Rails 3.1


Zum Katalog: Responsive Webdesign






 Responsive Webdesign


Zum Katalog: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Katalog: JavaScript






 JavaScript


Zum Katalog: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de