如何在HAML中写这个

时间:2013-06-13 13:34:09

标签: ruby-on-rails ruby haml

我如何使用HAML编写以下内容?

if @students.each do |student|
  # render a student
end.empty?
  # @students was empty
end

3 个答案:

答案 0 :(得分:5)

你不会。你要写

- if @students.any?
  - @students.each do |student|
    = # render a student
- else  
  = # @students was empty

<强>更新

虽然我在文档中找不到对此的任何引用,但HAML实际上 允许- end.method链接,因此您的代码应该按照书面形式工作,并添加一些破折号和删除最后的end

- if @students.each do |student|
  # render a student
- end.empty?
  # @students was empty

答案 1 :(得分:2)

看起来好像你可以在haml中使用end,虽然这并不广为人知。这是最终的代码:

- if @students.each do |student|
  # render a student
- end.empty?
  # @students was empty

如果有人知道在HAML中记录了end的使用情况,请更新此答案

答案 2 :(得分:0)

试试这个: -

- unless @students.empty?
  - @students.each do |student|
    = render a student
- else
  = render other stuff