Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 当嵌套记录';已经删除了吗? 唯一代码属于:社区 唯一\u代码属于:用户 用户有多个:唯一的\u代码 社区有很多:唯一的代码_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 当嵌套记录';已经删除了吗? 唯一代码属于:社区 唯一\u代码属于:用户 用户有多个:唯一的\u代码 社区有很多:唯一的代码

Ruby on rails 当嵌套记录';已经删除了吗? 唯一代码属于:社区 唯一\u代码属于:用户 用户有多个:唯一的\u代码 社区有很多:唯一的代码,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我想获取所有的唯一的\u代码,如下所示 @unique_codes = @user.unique_codes @unique_codes_count = unique_codes.count 然而,有时有些社区已经被删除了。 假设用户有10个唯一的_代码,则一个社区已被删除 @unique\u codes\u count返回10,但我想要9,它是活动社区的唯一\u代码数 我该怎么办?试试: 唯一代码型号: class UniqueCode belongs_to :community

我想获取所有的
唯一的\u代码
,如下所示

@unique_codes = @user.unique_codes
@unique_codes_count = unique_codes.count
然而,有时有些社区已经被删除了。 假设用户有10个唯一的_代码,则一个社区已被删除

@unique\u codes\u count
返回
10
,但我想要
9
,它是活动社区的唯一\u代码数

我该怎么办?

试试:

唯一代码型号:

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
控制器代码:

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
计数将返回没有空值的行的计数。

请尝试:

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

哦,我的天哪,你每次都要这样计算,仅仅是为了计算存在嵌套记录的记录数吗?我只想计算存在嵌套社区的记录数。在控制器中没有简单的方法吗?使用活动模型?查看代码时可能没有“@user.unique_code”将返回属于该用户的所有记录。但您不希望删除这些记录,因此请检查是否存在具有空值的记录的条件,并且不计算该值。我仍然得到
10
任何想法?:(谢谢。在我的情况下,我有10个unique_代码和9个社区。)(删除了一条记录)。难道没有任何技术可以使用ActiveModel仅获取这9个friendcodes吗?我只想计算嵌套社区存在(未删除)的唯一\u代码的数量。mmm我仍然得到
10'返回。“社区\u id不为空”这里指的是表
unique\u code
的列
community\u id`对吗?它不应该为空。您可能可以检查嵌套的吗?类似于“unique\u code.community.title不是空的”之类的内容没关系。我必须将它添加到我的社区模型而不是uniquecode模型中