如何避免附件N + 1

时间:2018-06-21 14:01:59

标签: ruby-on-rails rails-activestorage select-n-plus-1

给予


const regexBase = '(?:\\+?(\\d{1,3}))?[-. (]*(\\d{3})?[-. )]*(\\d{3})[-. ]*(\\d{4,5})(?: *x(\\d+))?';
const phoneRegex = new RegExp('\\s*' + regexBase + '\\s*', 'g');

在尝试显示每个头像时,如何避免对class User < ApplicationRecord has_one_attached :avatar def avatar_path Rails.application.routes.url_helpers.rails_blob_path avatar, disposition: 'inline', only_path: true end end class UsersController < ApplicationController def index @users = User.all end end active_storage_attachments进行N + 1次查询?

1 个答案:

答案 0 :(得分:2)

根据ActiveStorage's examples,您可以使用active_storage_blobs,其中#with_attached_A是附件的名称:

A

类似地,如果您有很多附件,则可以使用User.all.with_attached_avatar