0Pricing
Ruby Academy · Lektion

Views und Rendering

Antworten zurückgeben

Views und Rendering ist eine kostenlose Ruby Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Ruby Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ruby Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist ein View?

Ein View ist eine Vorlage, die die an den Client gesendete Antwort erzeugt, normalerweise HTML. Er wandelt die vom Controller vorbereiteten Daten in eine Seite um.

  • Views befinden sich in app/views.
  • Sie sind nach Controllern gruppiert, zum Beispiel in app/views/articles.
  • Der Name der Standardvorlage entspricht dem Namen der Action.

Konventionsbasiertes Rendering

Standardmäßig rendert eine Action die nach ihr benannte Vorlage. Die index-Action von ArticlesController rendert app/views/articles/index.html.erb, ohne dass explizit render aufgerufen werden muss.

def index
  @articles = Article.all
  # automatically renders articles/index.html.erb
end

ERB-Vorlagen

Die Standardsprache für Vorlagen ist ERB (Embedded Ruby). Sie mischt HTML mit Ruby:

  • <%= ... %> gibt einen Wert aus.
  • <% ... %> führt Code ohne Ausgabe aus.
<h1>Articles</h1>
<% @articles.each do |article| %>
  <p><%= article.title %></p>
<% end %>

Layouts

Ein Layout umschließt jeden View mit gemeinsam verwendeten Elementen wie Header, Navigation und Footer. Das Standardlayout app/views/layouts/application.html.erb enthält <%= yield %>, an dessen Stelle der View der Action eingefügt wird.

<!-- application.html.erb -->
<html>
  <body>
    <%= yield %>
  </body>
</html>

Partials

Ein Partial ist ein wiederverwendbarer Vorlagenausschnitt, dessen Dateiname mit einem Unterstrich beginnt. Rendern Sie ihn mit render, um doppelte Markup-Strukturen zu vermeiden.

<!-- _article.html.erb -->
<p><%= article.title %></p>

<!-- in index.html.erb -->
<%= render "article", article: @article %>

Rendering von Collections

Wenn Sie eine Collection an render übergeben, wird das Partial einmal pro Element gerendert – eine idiomatische Abkürzung. Rails leitet den Namen des Partials aus dem Model ab.

<%= render @articles %>

<!-- renders _article.html.erb for each article -->

View-Helper

Rails stellt Helper bereit, die HTML sicher erzeugen: link_to für Links, form_with für Formulare und image_tag für Bilder. Sie halten Vorlagen übersichtlich und konsistent.

<%= link_to "View", article_path(@article) %>
<%= image_tag "logo.png" %>

Antworten in anderen Formaten

Controller können mehr als nur HTML zurückgeben. render json: sendet JSON für APIs, und respond_to stellt je nach Anfrage des Clients unterschiedliche Formate bereit.

def show
  @article = Article.find(params[:id])
  render json: @article
end

respond_to-Blöcke

Verwenden Sie respond_to, um mehrere Formate in einer Action zu verarbeiten. Dieselbe Action kann einem Browser HTML und einem API-Client JSON zurückgeben.

def show
  @article = Article.find(params[:id])
  respond_to do |format|
    format.html
    format.json { render json: @article }
  end
end

Statuscodes

Setzen Sie den HTTP-Status einer Antwort mit status:. Verwenden Sie :ok (200), :created (201) nach einer erfolgreichen Erstellung und :unprocessable_entity (422), wenn die Validierung fehlschlägt, damit Clients korrekt reagieren.

render :new, status: :unprocessable_entity
render json: @article, status: :created

Escaping und Sicherheit

ERB führt bei der Ausgabe von <%= %> automatisch HTML-Escaping durch. Dadurch wird Cross-Site-Scripting durch Benutzerdaten verhindert. Markieren Sie Inhalte nur dann mit raw oder html_safe als sicher, wenn Sie ihnen vollständig vertrauen; eine falsche Verwendung öffnet XSS-Lücken erneut.

Schnelltest

Testen Sie Ihr Verständnis von Views und Rendering.

Zusammenfassung: Views und Rendering

Sie haben gelernt, Antworten zurückzugeben:

  • Actions rendern konventionsgemäß einen passenden ERB-View.
  • Layouts umschließen Views; Partials verwenden Ausschnitte wieder.
  • Helper wie link_to und form_with erstellen HTML.
  • render json: und respond_to stellen APIs bereit; setzen Sie die passenden Statuscodes.
  • ERB schützt Ausgaben durch Escaping vor XSS.

Damit ist der Kurs zu Controllern und Routing abgeschlossen.

Häufig gestellte Fragen

Ist die Lektion „Views und Rendering“ kostenlos?

Ja — der vollständige Text von „Views und Rendering“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ruby Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ruby Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Views und Rendering“?

Antworten zurückgeben Du übst Ruby Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Ruby Academy zu starten?

Keine Vorkenntnisse erforderlich. Ruby Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Views und Rendering“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Ruby Academy-Lektion Code schreiben und ausführen?

Ja. Jede Ruby Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Routen und Ressourcen
  2. Controller und Actions
  3. Strong Parameters
  4. Views und Rendering
← Zurück zu Ruby Academy