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?
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:
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.