0Pricing
Ruby Academy · Leçon

Vues et rendu

Renvoyez des réponses

Vues et rendu est une leçon Ruby Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ruby Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ruby Academy comprend 4 leçons au total.

Qu’est-ce qu’une vue ?

Une vue est un gabarit qui produit la réponse envoyée au client, généralement en HTML. Elle transforme en page les données préparées par un contrôleur.

  • Les vues se trouvent dans app/views.
  • Elles sont regroupées par contrôleur, par exemple dans app/views/articles.
  • Le nom du gabarit par défaut correspond à l’action.

Rendu fondé sur les conventions

Par défaut, une action effectue le rendu du gabarit qui porte son nom. L’action index de ArticlesController effectue le rendu de app/views/articles/index.html.erb sans appel explicite à render.

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

Gabarits ERB

Le langage de gabarit par défaut est ERB (Ruby intégré). Il mélange HTML et Ruby :

  • <%= ... %> affiche une valeur.
  • <% ... %> exécute du code sans produire de sortie.
<h1>Articles</h1>
<% @articles.each do |article| %>
  <p><%= article.title %></p>
<% end %>

Mise en page

Une mise en page enveloppe chaque vue avec un balisage commun, comme l’en-tête, la navigation et le pied de page. La mise en page par défaut app/views/layouts/application.html.erb inclut <%= yield %>, à l’emplacement duquel la vue de l’action est insérée.

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

Partiels

Un partiel est un fragment de gabarit réutilisable dont le nom de fichier commence par un trait de soulignement. Effectuez son rendu avec render pour éviter de dupliquer le balisage.

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

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

Rendu de collections

Transmettre une collection à render effectue le rendu du partiel une fois par élément, ce qui constitue un raccourci idiomatique. Rails déduit le nom du partiel à partir du modèle.

<%= render @articles %>

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

Assistants de vue

Rails fournit des assistants qui génèrent du HTML en toute sécurité : link_to pour les liens, form_with pour les formulaires et image_tag pour les images. Ils permettent de conserver des gabarits clairs et cohérents.

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

Répondre avec d’autres formats

Les contrôleurs peuvent renvoyer autre chose que du HTML. render json: envoie du JSON pour les API, et respond_to fournit différents formats selon la demande du client.

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

Blocs de réponse

Utilisez respond_to pour gérer plusieurs formats dans une même action. La même action peut renvoyer du HTML à un navigateur et du JSON à un client d’API.

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

Codes d’état

Définissez le code d’état HTTP d’une réponse avec status:. Utilisez :ok (200), :created (201) après une création réussie et :unprocessable_entity (422) lorsqu’une validation échoue, afin que les clients réagissent correctement.

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

Échappement et sécurité

ERB échappe automatiquement en HTML la sortie de <%= %>, ce qui empêche les attaques par script intersite provenant des données utilisateur. Ne marquez le contenu comme sûr avec raw ou html_safe que si vous lui faites entièrement confiance ; une mauvaise utilisation rouvrirait les failles XSS.

Vérification rapide

Vérifiez votre compréhension des vues et du rendu.

Récapitulatif : vues et rendu

Vous avez appris à renvoyer des réponses :

  • Par convention, les actions effectuent le rendu de la vue ERB correspondante.
  • Les mises en page enveloppent les vues ; les partiels réutilisent des fragments.
  • Les assistants comme link_to et form_with construisent du HTML.
  • render json: et respond_to servent les API ; définissez les codes d’état appropriés.
  • ERB échappe la sortie pour empêcher les attaques XSS.

Le cours Contrôleurs et routage est maintenant terminé.

Questions Fréquemment Posées

La leçon « Vues et rendu » est-elle gratuite ?

Oui — le texte complet de « Vues et rendu » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ruby Academy, passe à CoddyKit PRO. Le cours Ruby Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Vues et rendu » ?

Renvoyez des réponses Tu pratiques Ruby Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Ruby Academy ?

Aucune expérience préalable n'est requise. Ruby Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Vues et rendu » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Ruby Academy ?

Oui. Chaque leçon Ruby Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Routes et ressources
  2. Contrôleurs et actions
  3. Paramètres forts
  4. Vues et rendu
← Retour à Ruby Academy