我会做一个活动,我会陷入一个相当牵涉的问题。
此处为参考模型:
class Event < ApplicationRecord
has_one :party
belongs_to :host, foreign_key: :host_id, class_name: User
belongs_to :convention, optional: true
has_many :join_requests
...
end
I m 通过核对相关缔约方的<代码>——有限代码>,检查哪些活动是接受成员。
class Party < ApplicationRecord
belongs_to :event
belongs_to :host, foreign_key: :host_id, class_name: User
has_many :user_parties
has_many :members, through: :user_parties, source: user
...
end
<代码>Party有一个分类栏:member_limit
——该栏只允许一组缔约方成员。
迄今为止,我有这样的活动余地:
scope :accepting_members, -> () do
joins(party: :user_parties).group( parties.member_limit ).select( count(user_parties.user_id) < parties.member_limit )
end
哪些工作做得太好。
我在正确轨道上发言吗?
我尝试使用COUNT(COUNT)的总合,但只回收了一批ger。