前提・実現したいこと
railsを使い始めたばかりでレベルの低い質問ですがよろしくおねがいします。
現在、railsを使ってユーザーが観光地を投稿し、それに対してレビューができるアプリを作っています。
そのレビュー内で5点満点で点数をつけて投稿できるようにしているのですが、その点数を使ってランキングを作成したいと考えています。
class Review < ApplicationRecord belongs_to :user belongs_to :spot end class User < ApplicationRecord has_many :spots has_many :reviews end class Spot < ApplicationRecord has_many :reviews belongs_to :user end
現在このように関連付けしているのですが、spotに関連付けているreviewからレビューのカラムpointの平均を
それぞれのspotごとに出すにはどうすればいいのでしょうか...?
spotテーブルに平均を入れるカラムを作ってレビューが追加されるたびそのカラムの中身を更新するという方法を考えたのですが、
レビューが投稿されるたびにデータベースを更新するやり方がいいのかわからない点、
コントローラのコードで作る方法がないかと思い質問しました。
初質問のため足りない部分があるかと思いますがよろしくおねがいします。
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/19 06:17
2019/12/19 06:54 編集
2019/12/19 07:25
2019/12/19 07:49
2019/12/19 09:07