Se você ainda não sabe o que são ETags, leia o último post desta série.
Este recurso já foi efetivamente incluido no branch oficial do Rails, mas junto com ele também ganhamos mais dois novos métodos que devem facilitar a forma como vamos implementar isto em nosso código. Os métodos etag! e last_modified!.
Veja a implementação destes métodos direto do código fonte do Rails:
# Sets the Last-Modified response header. Returns 304 Not Modified if the
# If-Modified-Since request header is <= last modified.
head(:not_modified) if response.last_modified!(utc_time)
end
# Sets the ETag response header. Returns 304 Not Modified if the
# If-None-Match request header matches.
head(:not_modified) if response.etag!(etag)
end
Isto facilita muito as coisas. Veja como ficaria o exemplo dado no último post usando estes novos métodos:
end
Bem mais simples!