es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Rails 7 y las clases dinámicas de Tailwind

Tengo una aplicación Rails 7 con Tailwind donde estoy haciendo algo como esto:

@list = [{name: "Algo", width: "3/12"}, {name: "otro", width: "6/12"}]

En la vista:

<%= render 'mypartial', list: @list %>

En la parcial:

<% list.each do |item| %>
  <div class="w-<%= item[:width] %>">
    <%= item[:name] %>
  </div>
<% end %>

La vista genera el HTML adecuado (por ejemplo: <div class="w-6/12">), pero las clases no son reconocidas en el navegador. Si las coloco directamente en el código sin pasar la variable, todo funciona bien. ¿Estoy haciendo algo mal o me falta algo?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema podría estar en la forma en que estás pasando la variable list a la vista parcial. En lugar de usar dos puntos (:) después del nombre de la vista parcial, debes usar el signo igual (=) para especificar la asignación de la variable.

    Aquí tienes cómo puedes actualizar tu vista:

    <%= render partial: 'mypartial', locals: { list: @list } %>
    

    Con este cambio, la variable list debería pasarse correctamente a la vista parcial y las clases de TailwindCSS deberían reconocerse en el navegador.

Comments are closed.