优雅的空循环解决方案

时间:2014-06-06 19:12:56

标签: ruby-on-rails ruby arrays loops foreach

通过view中的集合运行时,您可以执行以下操作:

    <% @foo.each do |bar|
    #Do stuff
    <% end.empty? %>
    #if empty stuff
    <% end %>

这对视图来说真的很不错,但我似乎找不到rake任务或其他ruby相关代码的方法。

这样做有一种很好的红宝石方式吗?

编辑: 解决方案@meagar http://rubyfiddle.com/riddles/6d37b/2 忘了if

     if foo.each do |bar|
       puts "Bar #{bar}"
     end.empty?
       puts "Foo is empty"
     end

1 个答案:

答案 0 :(得分:4)

最干净的解决方案可能是最简单的。

if @foo.empty?
  #Do empty stuff
else
  @foo.each do |item|
    #Do non-empty stuff
  end
end