rails refactor,block with conditional

时间:2011-10-31 00:29:50

标签: ruby-on-rails ruby ruby-on-rails-3

让以下内容抛出错误:

<% @foo.each do |foo| unless @foo.nil? %>

<% end %>

任何方法都可以在同一条线上同时获得条件和块?

2 个答案:

答案 0 :(得分:1)

IMO清理器使@foo成为一个空列表,这是Rails查找器通常会发生的事情。

或者将循环包裹在局部中,并在主线模板中使用条件。

答案 1 :(得分:1)

在那里贴上to_a

<% @foo.to_a.each do |foo| %>

<% end %>

to_a上调用nil会为您提供一个空数组,在数组上调用to_a会为您提供一个数组。