2
我有一個帶有布爾值的列,並且希望使用'sum'函數來計算總數。此列用於獲取類似於Stack Overflow或reddit的投票計數。我該如何計算Ruby on Rails中布爾列的總和
這裏是我的代碼
votes = Vote.all
total = votes.sum(:direction)
puts' ....................' + total.to_s
這是我的錯誤...
undefined method `+' for #<Vote:0x000000047c9170>
任何幫助表示讚賞
'Vote.sum算值它執行一個db查詢,你不能這樣做,因爲你已經在你的關係上調用了'.all'。否則,您可以這樣做:'votes.map(&:direction).reduce(:+)'或者'votes.sum(&:direction)' –
這是最佳實踐,還是應該使用範圍? – Jakcst