ale*_*ara 9 ruby activerecord ruby-on-rails
@card.submissions 返回:
<ActiveRecord::Associations::CollectionProxy [#<Submission id: nil, user_id: nil, card_id: 7, created_at: nil, updated_at: nil, text: "">]>
Run Code Online (Sandbox Code Playgroud)
@card.submissions.any?回报true.
@card.submissions.count回报0.
我想要实现的是:
if @card.submissions.any?
render @card.submissions
end
Run Code Online (Sandbox Code Playgroud)
Phi*_*rom 11
看起来Submission是一条新记录(因为id是nil).如果它是新的,它还没有进入数据库. count对数据库进行SQL调用以确定行数,因此正确返回零. any?因为集合中有一个对象,所以返回true.
如果您尝试@card.submissions.to_a.size(确保从数据库加载它们然后检查数组的大小)会发生什么.