Vistas y renderizado
Devuelva respuestas
Vistas y renderizado es una lección gratuita de Ruby Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ruby Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ruby Academy incluye 4 lecciones en total.
¿Qué es una vista?
Una vista es una plantilla que produce la respuesta enviada al cliente, normalmente HTML. Convierte los datos preparados por un controlador en una página.
- Las vistas se encuentran en
app/views. - Se agrupan por controlador, como en
app/views/articles. - El nombre de la plantilla predeterminada coincide con la acción.
Renderizado basado en convenciones
De forma predeterminada, una acción renderiza la plantilla que lleva su mismo nombre. La acción index de ArticlesController renderiza app/views/articles/index.html.erb sin ninguna llamada explícita a render.
def index
@articles = Article.all
# automatically renders articles/index.html.erb
endPlantillas ERB
El lenguaje de plantillas predeterminado es ERB (Embedded Ruby). Combina HTML con Ruby:
<%= ... %>muestra un valor.<% ... %>ejecuta código sin mostrar resultados.
<h1>Articles</h1>
<% @articles.each do |article| %>
<p><%= article.title %></p>
<% end %>Layouts
Un layout envuelve cada vista con marcado compartido, como el encabezado, la navegación y el pie de página. El app/views/layouts/application.html.erb predeterminado incluye <%= yield %>, donde se inserta la vista de la acción.
<!-- application.html.erb -->
<html>
<body>
<%= yield %>
</body>
</html>Parciales
Un parcial es un fragmento de plantilla reutilizable cuyo nombre de archivo comienza con un guion bajo. Renderícelo con render para evitar duplicar el marcado.
<!-- _article.html.erb -->
<p><%= article.title %></p>
<!-- in index.html.erb -->
<%= render "article", article: @article %>Renderizado de colecciones
Pasar una colección a render renderiza el parcial una vez por elemento, un atajo idiomático. Rails infiere el nombre del parcial a partir del modelo.
<%= render @articles %>
<!-- renders _article.html.erb for each article -->Helpers de vistas
Rails proporciona helpers que generan HTML de forma segura: link_to para enlaces, form_with para formularios y image_tag para imágenes. Mantienen las plantillas limpias y coherentes.
<%= link_to "View", article_path(@article) %>
<%= image_tag "logo.png" %>Responder con otros formatos
Los controladores pueden devolver algo más que HTML. render json: envía JSON para las API, y respond_to proporciona distintos formatos según lo que solicite el cliente.
def show
@article = Article.find(params[:id])
render json: @article
endBloques respond_to
Utilice respond_to para gestionar varios formatos en una sola acción. La misma acción puede devolver HTML a un navegador y JSON a un cliente de API.
def show
@article = Article.find(params[:id])
respond_to do |format|
format.html
format.json { render json: @article }
end
endCódigos de estado
Establezca el estado HTTP de una respuesta con status:. Use :ok (200), :created (201) después de crear correctamente un recurso y :unprocessable_entity (422) cuando falle la validación, para que los clientes respondan correctamente.
render :new, status: :unprocessable_entity
render json: @article, status: :createdEscape y seguridad
ERB escapa automáticamente como HTML la salida de <%= %>, lo que evita los ataques de cross-site scripting originados por datos del usuario. Marque el contenido como seguro con raw o html_safe únicamente cuando confíe plenamente en él; utilizarlos incorrectamente vuelve a abrir vulnerabilidades XSS.
Comprobación rápida
Compruebe su comprensión de las vistas y el renderizado.
Resumen: vistas y renderizado
Aprendió a devolver respuestas:
- Por convención, las acciones renderizan una vista ERB coincidente.
- Los layouts envuelven las vistas; los parciales reutilizan fragmentos.
- Helpers como
link_toyform_withconstruyen HTML. render json:yrespond_toproporcionan respuestas para las API; establezca los códigos de estado adecuados.- ERB escapa la salida para evitar XSS.
Con esto termina el curso de controladores y enrutamiento.
Preguntas frecuentes
¿La lección «Vistas y renderizado» es gratis?
Sí — el texto completo de «Vistas y renderizado» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ruby Academy, actualiza a CoddyKit PRO. El curso de Ruby Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Vistas y renderizado»?
Devuelva respuestas Practicas Ruby Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Ruby Academy?
No se requiere experiencia previa. Ruby Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Vistas y renderizado»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Ruby Academy?
Sí. Cada lección de Ruby Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Rutas y recursos
- Controladores y acciones
- Parámetros seguros
- Vistas y renderizado