nilじゃない場合だけループを実行する。

objects.each do |object|
  p object.name
end

ループ処理を書く際、上のように単純に書くとobjectsがnilの場合に例外が出る。
ただ問題を回避するだけなら生真面目にif文で分岐するだけで良い。

unless objects.blank?
  objects.each do |object|
    p object.name
  end
end

だがしかし野暮ったい。もっとスマートに書く方法なかったっけ?
と思って調べてみるが、見つからない。
rubyのイディオムを網羅的に調べられるサイトってどっかにないのかな。
とにかく見つからないので自分でちょっと試してみたところ、以下のコードで目的の処理が出来た。

(objects || []).each do |object|
  p object.name
end

この書き方はどうなんだろう?
割合スマートだと思うが、もっと良い書き方がどっかにありそうな気もする。