2012-12-10 26 views
4

我試圖計算對象的#陣列中的使用塊,就像這樣:ActiveRecord的數組數

cc = u.cookies.count {|n| n.opened} 

這回3,這是不對的。我更進了一步,做到了這一點:

cc = u.cookies.count {|n| false} 

它應該總是返回0,但它返回3 !!!

這個返回0,就像它應該:

[1,2,3,4].count {|n| false} 

這裏是我的用戶模型:

class User < ActiveRecord::Base 
    has_many :cookies 
end 

這是怎麼回事? 謝謝

+0

什麼是'u.cookies'? – oldergod

+0

@oldergod更新 – 0xSina

回答

3

u.cookiesActiveRecord::Relation,而不是一個數組。

所以有史以來塊是什麼,結果都不會改變,你需要做的:

cc = u.cookies.where(:opened => true).count