我使用的是rails 4.2.4版本
我有一个数据库表'upload',有10000个条目。
file_name | file_path | parent_directory | created_at
我有一个模型,上传以下功能:
select(:parent_directory).distinct
这应该为我提供表格中存在的不同父目录的列表。
当我select(:parent_directory).distinct.size
时,
它执行select distinct id from upload;
并且给了我所有10000个条目,这是错误的。
但是当我做select(:parent_directory).distinct.count
时,
它执行select distinct parent_directory from upload;
并给了我3000条,这是正确的。
这是ActiveRecord gem的某种问题,还是我在这里做错了什么?
答案 0 :(得分:0)
在rails repo https://github.com/rails/rails/issues/16182中存在一个与此相关的未解决问题。
问题在于尺寸正在试图为您做出明智的选择。如果您使用length
代替size
,则会获得预期的结果。