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
endERB-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
endrespond_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
endStatuscodes
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: :createdEscaping 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_toundform_witherstellen HTML. render json:undrespond_tostellen 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
- Routen und Ressourcen
- Controller und Actions
- Strong Parameters
- Views und Rendering