2011-04-24 15 views
6
- @subjects.each do |s| 
    %tr 
    %td= s.position 
    %td= s.name 
    %td= s.visible ? "Yes" : "No" 
    %td= s.pages.size 
    %td= link_to("Show", {:action => "show", :id => s.id}, :class => "action show") 
    = link_to("Edit", {:action => "edit", :id => s.id}, :class => "action edit") 
    = link_to("Delete", {:action => "delete", :id => s.id}, :class => "action delete") 

error_msg:Haml Problema de "anidamiento ilegal"; cómo colocar múltiples elementos de código en la misma etiqueta?

anidación ilegal: contenido no puede ser tanto dada en la misma línea como% td y anidado dentro de ella.

Quiero esos tres enlaces - mostrar, editar y eliminar - en el mismo td; ¿Cómo puedo hacerlo?

+0

maldición, ¿cómo puedo darle estilo a mi código? – Hugh

+0

Ayuda de edición: http://stackoverflow.com/editing-help En este caso, solo tiene que aplicar sangría por 4 espacios. – matt

+0

gracias, ahora está bien – Hugh

Respuesta

13

sólo tiene que cambiar esta situación:

%td= link_to("Show", {:action => "show", :id => s.id}, :class => "action show") 
    = link_to("Edit", {:action => "edit", :id => s.id}, :class => "action edit") 
    = link_to("Delete", {:action => "delete", :id => s.id}, :class => "action delete") 

a esto:

%td 
    = link_to("Show", {:action => "show", :id => s.id}, :class => "action show") 
    = link_to("Edit", {:action => "edit", :id => s.id}, :class => "action edit") 
    = link_to("Delete", {:action => "delete", :id => s.id}, :class => "action delete") 

También debe sangrar los td s de la tr.

+1

Oh mi señor, está funcionando correctamente ahora, gracias amigo – Hugh

0

FYI - Me encontré con este problema también, pero el culpable era un espacio detrás después de mi <td>, que es contenido para HAML.

Cuestiones relacionadas