ruby-on-rails - 从 Rails 中的数组中收集唯一的事件记录对象?

标签 ruby-on-rails ruby ruby-on-rails-3

我有一个返回超过 50k 条记录的查询结果。我愿意:

@array.collect {|x| x.field_name1}.uniq, @array.collect {|x| x.field_name2}.uniq 

..为 View 中的多个选择创建过滤器。 这需要相当长的时间。有什么办法可以在一个循环中收集所有唯一元素以提高性能? 谢谢

最佳答案

用于选择唯一列值的纯 Ruby/Rails 方法(没有硬编码 SQL)是:

uniq_fields1 = Model.uniq.pluck(:field_1)
# issues: SELECT DISTINCT field_1 FROM "models"

关于ruby-on-rails - 从 Rails 中的数组中收集唯一的事件记录对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11451584/

相关文章:

ruby-on-rails - 第 8 章 Rails 教程记住 token 错误

ruby-on-rails - 在 rails 3 中使用 helpers 输出 html

ruby-on-rails-3 - 如何使用 HAML 插入特殊 HTML 符号

ruby-on-rails - Rails uglifier 应该丑化 (mangle) 函数名吗?

ruby-on-rails-3 - 允许用户创建动态模型属性?

ruby-on-rails - Rails - 这安全吗?使用 URL 参数查询数据库?

ruby-on-rails - Rails 当前访客数

ruby - 如果和 ruby 在同一行

Ruby Net-SFTP 捕获和记录异常

ruby-on-rails - 自动刷新 <div> 无需重新加载整个页面