ruby-on-rails - rails 应用程序。从多个模型中收集元素并在主页上显示此分页的元素列表

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

在 Rails 应用程序中,我有三个模型(Posting、Shop::Items 和 Directory::Items)。每个模型都与其他模型(用户、类别、城市...)有关系。我必须在主页上显示所有这些信息。它应该看起来像分页的项目列表。我正在为 DB 使用 postgres。
我们可以在 Controller 中编写这样的代码:

@postings = Posting.includes(:category, :subcategory, :user, :city).all
@directory_items = Directory::Item.includes(:category, :user, :city).all
@shop_items = Shop::Item.includes(:category, :user, :city, :phone).all

并对这个结果进行排序。但这不是最好的方法。

第二种解决方案是编写省略 ActiveRecord 的自定义查询。但是这个查询非常大并且很难支持它(我们在那里有很多连接)
对于最少的数据库查询,最好的解决方案是什么? (这是主页,所以它应该工作得非常快)。

最佳答案

here中有些解决方案速度不快.

或者,您可以使用 sphinxthinking sphinx gem 。这样它就会快速而干净。

ThinkingSphinx.search classes: [Posting, Shop::Items, Directory::Items], page: params[:page] || 1, per_page: 10

关于ruby-on-rails - rails 应用程序。从多个模型中收集元素并在主页上显示此分页的元素列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14274371/

相关文章:

ruby-on-rails - 我在哪里放置 ActionMailer View 的辅助方法?

ruby-on-rails - Heroku值得吗?

ruby-on-rails - 调度 Rake 任务

ruby - 使用 nokogiri 或 mechanize 解析使用 JavaScript 呈现的电子邮件

css - 如何使用回形针 gem 制作圆形缩略图?

ruby-on-rails - rails : ActiveRecord has_many association not working

ruby-on-rails - 如何使用连接表制作多模型 tag_cloud?

ruby-on-rails - Ruby Rails Hartl 教程 Ch. 8.2.6 测试失败

ruby-on-rails - ActiveRecord::Relation 问题检查为零? -- rails 3.1

ruby - 参数错误 : wrong number of arguments (1 for 0) when using afer_save