最も多くのユーザーが使用するリソースを選択したいと考えています。
モデル:
class Resource < ActiveRecord::Base
has_many :users, :through => :kits
has_many :kits
class User < ActiveRecord::Base
has_many :resources, :through => :kits
has_many :kits, :dependent => :destroy
class Kit < ActiveRecord::Base
belongs_to :resource
belongs_to :user
resource.users.count > 3 のリソースを選択するスコープを作成したい
Railsでこれを行うにはどうすればよいですか?
ありがとう
私は近づいていますが、まだいくつかの問題があります:
scope :most, group('resources.id, resources.title, resources.url, resources.description, resources.author, resources.price, resources.created_at, resources.updated_at').joins(:users).having("count(user_id) > ?",5)
Postgresql で次のようなエラーが発生するため、リソースのすべてのフィールドを含める必要がありました。
ActiveRecord::StatementInvalid: PG::Error: ERROR: column "resources.category_id" must appear in the GROUP BY clause or be used in an aggregate function
各フィールドを入力せずにすべてのフィールドを含める方法が必要です