projectsテーブルとreviewsテーブルを内部結合させてSQLをActiveRecordで発行しているのですが、where("reviews.star >= ?" , params[:star])の部分をmodel/review.rbに書きたいのですが、やり方がわかりません。
#やりたいこと
model
ruby
1class Review < ActiveRecord::Base 2 belongs_to :projects 3 self.table_name = 'reviews' 4 5 scope :star, ->(star) {where("star >= ?", star) } 6 7end 8
現在コントローラの記述は下記のとおりなのですが、文法がおかしいので動きません。どのように修正すべきでしょうか。
controller
ruby
1#これは動く 2@projects = Project.joins(:reviews).preload(:reviews).where("reviews.star >= ?" , params[:star]).page(params[:page]).per(PER) 3 4#これは動かない。どう修正すべきか 5@projects = Project.joins(:reviews).preload(:reviews).star(params[:star]).page(params[:page]).per(PER) 6 7
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/24 05:11