Ruby on rails RubyonRails奇怪的计数错误

Ruby on rails RubyonRails奇怪的计数错误,ruby-on-rails,Ruby On Rails,我试图找到大于某个数据源的设备数量的计数 last_data_source = LocalDeviceSummary.find(:first, :order => 'created_at desc') count = RemoteDeviceSummary.count ["DeviceSummaryIndex > ?", last_data_source.data_source_id] 最后一个数据源运行良好,我已经测试过了。错误与计数有关。这里是错误 错误:您的SQL语法有错误;

我试图找到大于某个数据源的设备数量的计数

last_data_source = LocalDeviceSummary.find(:first, :order => 'created_at desc')
count = RemoteDeviceSummary.count ["DeviceSummaryIndex > ?", last_data_source.data_source_id]
最后一个数据源运行良好,我已经测试过了。错误与计数有关。这里是错误


错误:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第1行的
device\u summary
“选择count(devicesummary index>?2896012)中使用接近“?2896012)作为count_devicesummary index_2896012”的正确语法当您将数组传递给ActiveRecord::count时,您需要使用:conditions符号指定您的输入数组。这应该适合您:

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

将数组传递给ActiveRecord::Count时,需要使用:conditions符号指定输入数组。这应该适合您:

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

每次都归零?我不知道你的表的结构,所以我不能帮你确定为什么每次都归零。我知道您第一次没有正确调用count方法,因此这是正确的调用模式。至于为什么每次都返回零,这取决于你的数据集。它每次也给我0。每次都返回零?我不知道你的表的结构,所以我无法帮助你确定为什么每次都返回零。我知道您第一次没有正确调用count方法,因此这是正确的调用模式。至于为什么它每次都返回零,这取决于你的数据集。它每次也给我0。