0
  • unique_code 属于_to :community
  • unique_code 归属于:用户
  • 用户 has_many :unique_codes
  • 社区 has_many :unique_codes

unique_codes我想像下面这样获取所有内容

@unique_codes = @user.unique_codes
@unique_codes_count = unique_codes.count

但是,有时社区已经被删除。假设用户有 10 个 unique_code,则已经删除了一个社区。

@unique_codes_count返回10,但我想要9的是活跃社区的 unique_code 数量。

我怎样才能?

4

2 回答 2

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

该计数将返回不具有空值的行数。

于 2013-01-22T13:34:29.210 回答
1

尝试:

添加 :dependent => :destroy 在社区模型中:

has_many :unique_codes, :dependent => :nullify

@unique_codes = @user.unique_codes.where("community_id IS NOT NULL")
@unique_codes_count = @unique_codes.count
于 2013-01-22T13:34:46.650 回答