Хамл "Нелегальное гнездование";Как разместить несколько элементов кода в одном теге? - PullRequest
6 голосов
/ 24 апреля 2011
- @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:

Недопустимое вложение: содержимое не может быть одновременно передано в одну строку с% td и вложено в него.эти три ссылки - показать, редактировать и удалить - в том же тд;как я могу это сделать?

Ответы [ 2 ]

14 голосов
/ 24 апреля 2011

Вам просто нужно изменить это:

%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")

к этому:

%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")

Вы должны также сделать отступ td от tr.

0 голосов
/ 30 марта 2017

К вашему сведению - я тоже столкнулся с этой проблемой, но виновником был пробел после моего <td>, то есть содержимого для HAML.

...