- unique_code belongs_to :社区
- unique_code belongs_to :用户
- 用户has_many :unique_codes
- 社区has_many :unique_codes
我想像下面这样获取所有unique_codes
@unique_codes = @user.unique_codes
@unique_codes_count = unique_codes.count
但是,有时会删除社区。假设用户有 10 个unique_codes,则一个社区已被删除。
@unique_codes_count
返回10
但我想要9
这是活跃社区unique_codes的数量。
我该怎么做?
尝试:
唯一代码模型:
class UniqueCode
belongs_to :community, :dependent => :destroy
end
控制器代码:
def method_name
count = 0
@unique_codes.each do |code|
if code != nil
count = count + 1
end
end
puts "This count is giving me the number of unique codes which are not deleted for active community"+count.to_s
end
计数将返回没有空值的行计数。
尝试:
在社区模型中添加:d ependent => :d estroy:
has_many :unique_codes, :dependent => :nullify
@unique_codes = @user.unique_codes.where("community_id IS NOT NULL")
@unique_codes_count = @unique_codes.count