File.exists?を使わずに…
Posted under: [Tips] [ 開発] | 9月 29th, 2009
<% 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