我想获取所有unique_codes
,如下所示
@unique_codes = @user.unique_codes
@unique_codes_count = unique_codes.count
但是,有时社区已被删除。 假设用户有10个unique_codes,则已删除一个社区。
@unique_codes_count
会返回10
,但我希望9
这是活动社区的unique_codes数量。
我该怎么办?
答案 0 :(得分:1)
尝试:
UniqueCode模型:
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
计数将返回没有空值的行数。
答案 1 :(得分:1)
尝试:
add:dependent => :在社区模型中摧毁:
has_many :unique_codes, :dependent => :nullify
@unique_codes = @user.unique_codes.where("community_id IS NOT NULL")
@unique_codes_count = @unique_codes.count