我正在为一个项目使用rails(已经开始)而且运气不好他们正在使用haml(我运气不好因为我从来没有好过)。
我的问题是我有我的结果和数组,我想通过它来打印一些信息(这很简单),但现在我的问题是让它适合表格。
该表有3列,其中3列带有名称(因此,每行将有3个不同的条目),所以,我试着拿一个计数器做这样的事情
%table{:border => "1"}
conter = 0
@food.each do |f|
-if conter == 0
%<tr>
%<td>
=f.description
- conter ++
-end
-if conter == 1
%<td>
=f.description
-conter ++
-end
-if conter == 2
%td
=f.description
-counetr = 0
-end
end
但是不起作用,返回错误非法嵌套:在纯文本中嵌套是非法的。我不知道如何解决它(说实话,我还是不太了解haml ,或“ - ”符号,何时使用它),任何人都可以给我一些帮助或解释如何用haml实现这些东西吗?
由于
答案 0 :(得分:0)
几乎每件事都可能出错, 错误。不要懒惰,不要再摸索,并且阅读文档,因为这并不是那么严重:
conter
切换为counter
conter = 0
需要- conter = 0
@food.each
需要- @food.each
%tagname
,而不是%<tagname>
; %<td>
需要%td
等end
块,这就是缩进的含义您还有严重的逻辑错误。您在第一个counter
结束时递增if
,然后使用if
而不是elsif
对其进行后续检查,因此您的每个分支都是如此每次迭代都会循环。
您的代码也无法正常工作。当您取消缩进%tr
时,您关闭该标记。如果你想在那个标签中嵌套东西,它们需要字面嵌套。