加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – object.count返回0.但是object.any?返回true.

发布时间:2020-12-16 19:22:28 所属栏目:百科 来源:网络整理
导读:@ card.submissions返回: ActiveRecord::Associations::CollectionProxy [#Submission id: nil,user_id: nil,card_id: 7,created_at: nil,updated_at: nil,text: ""] @ card.submissions.any?返回true. @ card.submissions.count返回0. 我想要实现的是: i
@ card.submissions返回:
<ActiveRecord::Associations::CollectionProxy [#<Submission id: nil,user_id: nil,card_id: 7,created_at: nil,updated_at: nil,text: "">]>

@ card.submissions.any?返回true.

@ card.submissions.count返回0.

我想要实现的是:

if @card.submissions.any?
  render @card.submissions
end

解决方法

看起来Submission是一条新记录(因为id是nil).如果它是新的,它还没有进入数据库. count对数据库进行SQL调用以确定行数,因此正确返回零.任何?由于集合中有一个对象,因此返回true.

如果您尝试@ card.submissions.to_a.size(确保从数据库加载它们然后检查数组的大小)会发生什么.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读