<% 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