railsでアプリケーションの作成をしており、店舗数の総数をビューに表示させたいです。
controller
1 def index 2 @shops = Shop.order('opening_date DESC').with_attached_image.page(params[:page]) 3 @shops_count = Shop.count 4 end
ページネーションを利用しており@shops.count
にすると総数の取得ができないためShop.count
として全件数を取得しています。
ここからが質問内容になるのですが、こちらの@shops_count = Shop.count
はモデルに記述した方がいいのでしょうか?
teratailにあったこちらの記事の中に「一般的にはデータベースのデータを弄くり回すものやバリデーションなどモデルのデータを利用するものはモデルに書いてそれ以外をコントローラ書けば良い。」とありますがいまいち使い分けがわかっていません。
上記のindexアクションを例にとるとorder
メソッドもデータの順番を入れ替えているためコントローラーではなくモデルに書くのでは?と思ってしまいます。
この辺りの使い分けについてわかる方いましたら、教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー