Railsを学習中で、APIモードで使用しています。
jsonでレスポンスを返す際に、データから必要な値を抽出して返すようにする場合の、モデルのjoinやselectをコントローラーに現在べた書きしています。以下に例を載せています。
controllers/user_controller.rb
1module Api 2 module V1 3 class UserController < ApplicationController 4 def index 5 users = User.joins(:posts).select('users.*, posts.title') 6 render json: { 7 users: users 8 }, status: :ok 9 end 10 end 11 end 12end
models/user.rb
1class User < ApplicationRecord 2 has_many :posts 3end
ですが、joinやselectはモデルに関することなので、コントローラーに書くのではなくモデルに書いた方が良いのではと思いました。
しかし、その場合モデルの方でjoinやselectを書く方法がわかりません。モデルでの書き方を教えてください。またこのようなjoinやselectを書く場所はモデルの方が良いのではないかと思っていますが、どちらが良いかも教えて頂けますでしょうか。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。