Reduz a execução de consultas SQL ao gerar conteúdo condicional

Se você precisar verificar algum registro antes de fazer um loop sobre eles, não faça o seguinte:

if Post.any?
content_tag
(:div) do
Post.all.each do |post|
...
end
end
end

O exemplo acima gera duas consultas. Um para contar, outro para buscar registros. É mais rápido (concedido, apenas fracionariamente, mas soma) fazer isso:

posts = Post.all
if posts.any?
content_tag
(:div) do
posts
.each do |post|
...
end
end
end

Dessa forma, você gera apenas uma consulta.

E se quiser mais limpo, extraia para um ajudante.

def content_tag_if_any(records, tag, &block)
return if records.none?
content_tag
(tag) do
records
.each do |record|
yield(record)
end
end
end

content_tag_if_any
(Post.all, :div) do |post|
...
end