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模型中