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(确保从数据库加载它们然后检查数组的大小)会发生什么. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby – OpenStruct.new存储属性但不检索它
- 数组 – Swift:上下文类型“AnyObject”不能与字典文字一起
- 正则表达式选择引号外的逗号
- c# – Silverlight和WCF:NotFound错误!
- 配置本地X Server远程安装Oracle 数据库
- React Native 之TextInput 高度自增长扩展实现
- iphone – Info.plist中的Bundle Identifier与App ID和iTun
- ruby混合和遗传注射
- Swift 中代理方法的命名方式
- 87.You are managing an Oracle Database 11g database run