哈姆"非法筑巢"问题; 如何在同一个标​​签中放置多个代码元素?

Hug*_*ugh 6 ruby haml ruby-on-rails-3

- @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")
Run Code Online (Sandbox Code Playgroud)

ERROR_MSG:

非法嵌套:内容不能与%td在同一行上给出并嵌套在其中.

我希望这三个链接 - 显示,编辑和删除 - 在同一个td; 我该怎么做?

mat*_*att 14

你只需要改变这个:

%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")
Run Code Online (Sandbox Code Playgroud)

对此:

%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")
Run Code Online (Sandbox Code Playgroud)

你也应该td从中缩进s tr.