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

Warning: array_slice() [function.array-slice]: The first argument should be an array in /virtual/producing/public_html/producing-web.com/wp-content/themes/network.php on line 15
  • No items
Open Service
Rails 2.0
Resident on Net
iPhone最適化
リーンソフトウェア
MarketPedia
Producing Web
Cool Coding