Ruby on rails 活动记录间歇计数
我有一个rails方法无法计算关系中的行数 我已经将这个问题简化为以下一个简单的例子Ruby on rails 活动记录间歇计数,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我有一个rails方法无法计算关系中的行数 我已经将这个问题简化为以下一个简单的例子 class Group < ActiveRecord::Base def self.how_many(anything) anything.count end end a = User.last.groups a.class => Group::ActiveRecord_Associations_CollectionProxy a.count => 1 b = Grou
class Group < ActiveRecord::Base
def self.how_many(anything)
anything.count
end
end
a = User.last.groups
a.class
=> Group::ActiveRecord_Associations_CollectionProxy
a.count
=> 1
b = Group.where(id: 1)
b.class
=> Group::ActiveRecord_Relation
b.count
=> 1
我刚刚发现,当将a转换为数组时,根据上面的第三个示例,答案是正确的。我很难知道您试图实现的是什么。这是一个更复杂的方法的简化版本,遇到了同样的问题。我的问题是,为什么上面的第二个示例返回的计数为零?我很难知道您试图实现的是什么。这是一个更复杂的方法的简化版本,遇到了相同的问题。我的问题是,为什么上面的第二个示例返回的计数为零?
a.how_many(b)
=> 1
b.how_many(a)
=> 0
b.how_many(a.to_a)
=> 1
a.how_many(a)
=> 1
b.how_many(b)
=> 1