質問: article.order("created_at desc").limit(10) %> <% @articles.each do |article| %> <%= article.title%><%= article.date.strftime("%Y年%m月%d日 %H時%M分") %> <%= article.username %><%= raw article.content.truncate(50, omission: '・・・') %> <% end %> ``` このようなデータ処理のようなものがビュー側に有るのは望ましくないと思っており、ここがHelperの使い所かな?と考えたのですが実際どのように書くと良いのかわからず迷っています。 皆様のこういったビュー側に処理が入ってしまう場合の対応についてお聞かせ下さい。 追記 もし、皆様の中でRailsのDRYな書き方について詳しく載っている書籍等ご存知の方が居らっしゃいましたらそちらも合わせて教えて頂ければと思います。
回答: @articlesの取得処理の事を言ってるんですよね? 私だったら、コントローラーのbefore_filterに入れます。 複数のコントローラで発生するようであれば、スーバークラスにくくり出すか、モジュール化して、そこにbefore_filterで呼び出すメソッドを記述しておきますね。 ヘルパもビューの一部、という認識で、 インスタンス取得処理がビュー側に入っているのって、なんだか気持ち悪いので。