2009-08-03 80 views
1

我試圖找到大於來自某個數據源的數量的設備數量的計數。軌道上的紅寶石奇怪的計數錯誤

last_data_source = LocalDeviceSummary.find(:first, :order => 'created_at desc') 
count = RemoteDeviceSummary.count ["DeviceSummaryIndex > ?", last_data_source.data_source_id] 

last_data_source很好,我測試了一下。錯誤與計數有關。這是錯誤。

Mysql ::錯誤:您的SQL語法有錯誤;檢查對應於你的MySQL服務器版本使用附近的正確語法手冊 'AS count_devicesummaryindex_2896012 2896012)FROM device_summary?' 位於第1行:SELECT COUNT(DeviceSummaryIndex> 2896012)AS count_devicesummaryindex_2896012 FROM device_summary

回答

1

當你傳遞一個數組到ActiveRecord :: Count你需要使用:conditions符號指定你的輸入數組。這應該適合你:

count = RemoteDeviceSummary.count(:conditions => ["DeviceSummaryIndex > ?", last_data_source.data_source_id]) 
+0

這是回來每次零? – Ryan 2009-08-03 20:55:07