ruby-on-rails - 对从 ActiveRecord 或 ThinkingSphinx 获取的集合进行排序

标签 ruby-on-rails ruby ruby-on-rails-3 activerecord thinking-sphinx

我有两个问题。

  1. 有没有一种方法可以对 ActiveRecord 或 Thinking Sphinx 中的集合进行排序,而无需重新选择数据库/sphinx 中的所有内容? 即。

    @models = Model.where("foo = :foo", {:foo => params[:foo]}) models.some_code_or_method_which_will_resort_everything

  2. 这个游戏是否值得一试(排序数组/集合而无需再次获取)?我想知道哪个选项对性能更好。

提前致谢。

编辑

因此,当您:

  • 不要使用分页(必须有所有记录)
  • 使用 ajax 刷新页面 div(不要通过调用索引或显示操作再次获取所有内容)

为艺术而艺术..

最佳答案

我非常确定“排序”应该有效:

  @models.sort! { |a,b| a.foo <=> b.foo }

回答第二个问题,是的,确实如此。这在很大程度上取决于您收藏中的对象数量,但通常这通常是性能上的胜利

关于ruby-on-rails - 对从 ActiveRecord 或 ThinkingSphinx 获取的集合进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7024628/

相关文章:

jquery - Rails 3 如何使用 JS 格式(AJAX)显示验证错误

css - Semantic-ui stackable 在 Rails 中不起作用

mysql - 使用 parent_id 求和并分组

ruby-on-rails - Gitlab 不会在替代端口上创建 Postgres 实例

ruby-on-rails - 使用 Ruby on Rails 3 显示 'size' 的 'file_field' 属性时出现问题

ruby-on-rails - 将 Gem 转换为 Ruby 插件

ruby - ubuntu中不同版本的ruby

ruby-on-rails-3 - 如何在视觉上区分 Rails 应用程序的开发/测试/生产模式?

ruby-on-rails - Factory_girl 与 validates_presence_of 有_one 关系

ruby-on-rails - Rails 中的 Rspec 测试突然开始失败