<% if File.exists?(model.path) %>
   ...
<% end %>

ではなく、

<% if model.file_exists? %>
  ...
<% end %>

というのが37signals流。メリットは、

  • ビューがすっきりする
  • 結果をキャッシュできる
  • ユニットテストしやすい
  • ローカルファイルシステムから別システム(S3とかMogileFSとか)へ移すことも想定
  • MVCとしてモデルがファイルを参照するなら、それがどこにあるかはモデルだけが把握すべき

といったことが挙げられています。

A design and usability blog: Signal vs. Noise (by 37signals)
 http://37signals.com/svn/posts/1944-dont-do-this-if-fileexistsmodel

MOONGIFTネットワーク。こちらもぜひご覧ください。
MOONGIFT
Open Service
Rails 2.0
Resident on Net
iPhone最適化
リーンソフトウェア
MarketPedia
Producing Web
Cool Coding