ruby-on-rails - actions_as_taggable_on : how to optimize the query?

标签 ruby-on-rails activerecord acts-as-taggable-on

我在当前的Rails项目中使用acts_as_taggable_on。在一个概述页面上,我正在显示对象及其关联标签的索引。我使用以下代码:

class Project < ActiveRecord::Base
  acts_as_taggable_on :categories
end

class ProjectsController < ApplicationController
  def index
    @projects = Project.all
  end
end

# in the view
<% @projects.each do |p| %>
   <%= p.name %>
   <% p.category_list.each do |t| %>
     <%= t %>
   <% end %>
<% end %>

这一切都按预期工作。但是,如果我正在显示20个项目,则acts_as_taggable_on会触发20个查询以获取关联的标签。

如何在原始数据库查询中包括标签的加载?

谢谢您的时间。

最佳答案

尝试

@projects = Project.includes(:categories).all

关于ruby-on-rails - actions_as_taggable_on : how to optimize the query?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7777069/

相关文章:

ruby-on-rails - Rails Paperclip 未定义方法 `validates_attachment'?

ruby-on-rails - 使用 Rails 5 和 acts-as-taggable-on 4 时无法运行 rspec

ruby-on-rails - 为什么 .each 在我的 Rails View 中完成后会重复数组?

ruby-on-rails - OS X 和 Windows 之间的文件权限发生了变化

ruby-on-rails - 如何从另一个辅助方法中调用 Rails 辅助方法?

javascript - Ruby on Rails 嵌入按钮

ruby-on-rails - Rails 3. 如何对所有记录执行保存操作?

sql - 从 Rails 迁移中获取 SQL

mysql - 具有连接表关系的事件管理

ruby-on-rails-4 - 升级到 Rails 4.1 后,acts-as-taggable-on 不起作用