ruby ActiveRecord gem的问题

时间:2015-12-10 06:40:54

标签: mysql ruby-on-rails-4 activerecord

我使用的是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的某种问题,还是我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

在rails repo https://github.com/rails/rails/issues/16182中存在一个与此相关的未解决问题。

问题在于尺寸正在试图为您做出明智的选择。如果您使用length代替size,则会获得预期的结果。