ActiveRecord 包括。指定包含的列

2024-04-13

我有模特个人资料。个人资料有_一个用户。用户模型具有字段电子邮件。当我打电话时

Profile.some_scope.includes(:user)

it calls

SELECT users.* FROM users WHERE users.id IN (some ids)

但是我的用户模型有许多我在渲染中没有使用的字段。是否可以仅加载用户的电子邮件?所以,SQL 应该是这样的

SELECT users.email FROM users WHERE users.id IN (some ids)

Rails 没有能力传递选项include询问。但我们可以通过以下方式传递这些参数协会声明在模型下。

对于您的场景,您需要在配置文件模型下创建与用户模型的新关联,如下所示

belongs_to :user_only_fetch_email, :select => "users.id, users.email", :class_name => "User"

我刚刚又创建了一个关联,但它仅指向用户模型。所以你的查询将是,

Profile.includes(:user_only_fetch_email)

or

Profile.includes(:user_only_fetch_email).find(some_profile_ids)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ActiveRecord 包括。指定包含的列 的相关文章

  • 防止语言环境文件中的 HTML 字符实体被 Rails3 xss 保护破坏

    我们正在构建一个应用程序 这是我们第一个使用 Rails 3 的应用程序 并且我们必须从一开始就构建 I18n 作为完美主义者 我们希望在我们的视图中使用真正的排版 破折号 卷曲引号 省略号等 这意味着在我们的 locales xx yml
  • NoMethodError 未定义方法“名称” for nil:NilClass

    我有两个模型帖子和类别 我试图在我的索引和帖子显示视图中显示每个帖子的类别名称 我正在使用表连接 但问题是 虽然在我的显示视图中类别显示正确 但它在索引视图中给出了 NoMethodError undefined method name f
  • Facebook API 错误 100 - 无效链接

    我正在使用 Facebook API 在我的 Rails 应用程序中创建发送对话框 我只是在 Javascript 中使用 Facebook 推荐的格式 作为 HTML 中的脚本 我的问题是我得到 API Error code 100 in
  • 使用 Ruby on Rails 进行设计 - 强制用户在首次登录时更改密码

    我有一个运行 Devise 的 RoR 应用程序 Rails 4 2 Ruby 2 2 0 我已经进行了设置 以便管理员用户 标识了我添加到用户模型中的 is admin 布尔值 能够创建新的用户帐户 为他们提供生成的密码和确认电子邮件 这
  • Bootstrap shown.bs.tab 事件不起作用

    我正在使用灵活的模板 http the8guild com themes html flexy v1 7 stylesPage html 使用引导程序 并且我无法让选项卡上的 shown bs tab 事件正常工作 我已经成功让它发挥作用J
  • Mongoid 命名范围比较同一文档中的两个时间字段

    我需要在 Mongoid 中创建一个命名范围来比较同一文档中的两个时间字段 例如 scope foo where gt updated at gt gt checked at 这显然不会像它对待的那样起作用 checked at作为一个符号
  • Ruby on Rails 中的三重连接

    我对 Ruby on Rails 中的关联有疑问 应用程序中有项目 用户 角色和组 项目属于一个有用户的组 一个用户可以属于多个不同的组 但只能在该组中拥有一个特定的角色 例如 在一个组中 用户是项目所有者 但在另一个组中 他是作家 使用
  • MONGODB [DEBUG] 游标的cursor.refresh() 7078636577051629992

    更新大型 json 列表时 出现以下错误 2012 04 01T09 34 00 00 00 app run 1 MONGODB DEBUG cursor refresh for cursor 7078636577051629992 201
  • Rails 3 Link_to:远程未触发 RJS

    我正在使用以下代码在 Rails 3 中设置 AJAX 操作 代码的 AJAX 部分似乎可以工作 但它没有请求正确的文件 而我的 respond to 为它提供常规 HTML 路由信息 resources zones do resource
  • 如何在rails3中渲染编辑视图并发布Flash消息

    在我的帐户控制器中 我想在保存更改后显示 渲染 redirect to 编辑视图并显示闪存通知 def update account Account find params id respond to do format if accoun
  • Rails:format.js 或 format.json,或两者?

    可能很明显 但我仍然缺乏基本知识 那么在控制器内部 两者都可以使用 还是总是 Javascript 所以两者是相同的 json and js是两种不同类型的响应 它们在 Rails 中被定义为不同的 MIME 类型 Mime Type re
  • 如何在 Rails 控制器中调用通道方法?

    我有一个订阅用户的 ActionCable 方法 如果启动新的 convo 我也希望用户订阅新频道 我无法找出在控制器中调用通道方法的正确语法 更新 问题是消息在发送时附加到聊天框 但是当发送第一条消息时 Websocket 连接尚未建立
  • 获取设备中的当前用户ID

    如何使用设备获取控制器中的当前用户 ID 在我的控制器中我有这样的东西 def index me current user c User find me sheets c time sheets end 我收到一条错误消息 无法找到没有 I
  • 多态控制器和调用对象

    我的地址具有多态关系 可以由成员或依赖者拥有 一切看起来都很棒 直到我意识到除非我遗漏了一些东西 否则我不知道创建它的对象是什么类型 有没有办法告诉路由文件包含对象的类型 Models class Member lt ActiveRecor
  • 在 Rails 的文本字段中显示链接

    在我的 Rails 3 1 应用程序中 我有一个用于评论的文本字段 我希望能够允许人们包含可点击的链接 而不仅仅是显示为纯文本的 url 以及让文本字段识别用户何时文本字段中的换行符 用户无需添加 html 我怎样才能做到这一点 如果用户将
  • Rails 查询返回属于任何城市和不属于任何城市的用户

    I have Many to Many Associations两个表之间 对于前用户和城市 users id name 1 Bob 2 Jon 3 Tom 4 Gary 5 Hary cities id name 1 London 2 N
  • 使用 Fetch 和 FormData API 上传多个文件

    我正在尝试使用本机Fetch https developer mozilla org en US docs Web API Fetch API and FormData https developer mozilla org en US d
  • 使用 Ajax 在输入时提交 Textarea,然后渲染部分内容而不刷新整个页面

    目前我正在尝试通过 JS 和 Ajax 在没有提交按钮的情况下发表评论 并且它有效 问题是当帖子提交时 页面重新加载到 post id comment页面 我希望它呈现部分内容 而不是刷新整个页面或将我带到不同的页面 我对 JS 不熟悉 任
  • 创建一个简单的 Rails 3 文本助手 Gem [重复]

    这个问题在这里已经有答案了 我一直在开发我的第一个 Rails 3 插件 以打包一个我喜欢在ApplicationHelper我所有的应用程序 你可以看到整个代码在 Github 上 https github com burlesona s
  • Capistrano 和 XSendFile 配置

    我正在尝试使用 Apache 2 2 Passenger 4 0 59 和 XSendFile 0 12 配置 Rails 生产服务器 应用程序通过 Capistrano 部署 部署的应用程序生成 可能很大 PDF Rails root t

随机推荐

  • Python PasteScript 的粘贴创建的替代品?

    这好像是粘贴脚本 http pythonpaste org script s paster createfunction 是唯一广泛使用的用于在 python 中构建 生成项目框架的框架 我想知道人们在 python 世界中是否有其他选择
  • 计算所有 1 和 0 相等的二进制数

    我正在实现等边双分区算法的二进制表示 我想知道迭代具有相等 N 2 1 和 0 的 N 位的所有组合的最佳方法是什么 我试图找到最快的方法 而不是最简单的编码方法 谢谢 只是 N choose N 2 你要选择哪些位是 0 其余的是 1 如
  • 在法国 Windows Server 上使用 django 换行的问题

    Problem 当将通过 render to string 读入的字符串写入文件时 我的 Django 应用程序在每个 CRLF 之前引入一个 CR 在我的模板文件中 我使用了 CRLF Django 处理应用程序编写了一个文件 在每个 C
  • 自动加载和命名空间

    我使用 PHP 已经很长时间了 但现在开始尝试新的语言功能 例如命名空间 我有一个关于自动加载的问题 但在网络搜索中找不到足够的答案 假设我在不同的命名空间中有类 namespace foo bar baz class Quux names
  • 将java代码编译为exe(例如使用Launch4Java)是否确保代码无法被逆向工程?

    经过我自己的实验 我确信 Java 代码混淆在防止逆向代码工程方面并不安全 因此 我转而使用 Launch4J 将我的核心 jar 文件之一捆绑到单个 EXE 文件中 jar 文件还包含主要的入口方法 这会再次保护代码逆向工程吗 如果计算机
  • ASP/VBScript - Int() 与 CInt()

    ASP VBScript 之间有什么区别Int and CInt Int http www w3schools com Vbscript func int asp Int 函数返回指定数字的整数部分 CInt http www w3scho
  • 分组data.fame后的自定义函数

    给定以下数据框 d lt rep c a b each 5 l lt rep 1 5 2 v lt 1 10 df lt data frame d d l l v v v df d l v 1 a 1 1 2 a 2 4 3 a 3 9 4
  • 如何处理复杂的事情?

    您知道代码中对于项目至关重要但可能需要花费大量时间才能完成的特定部分吗 您是否有过这样的感觉 您宁愿做其他事情 可能不太重要 或者根本不写代码 而不是做那部分 你竭尽全力避免并使用你所知道的每一个懒惰技巧来推迟其不可避免的实施的那头野兽 现
  • 我可以对任意排列的浮点数向量进行确定性求和吗?

    假设我有一个 可能很大 由某些黑盒过程产生的浮点数向量 是否可以计算这些数字的按位可再现总和 如果黑盒过程总是以相同的顺序产生数字 那么按位可再现的求和很容易 只需从左到右对它们求和即可 但是 如果数字以随机顺序生成 也许是因为它们是从异步
  • 正则表达式匹配字符串之间的数字

    我需要从字符串 start 和 end 之间的以下文本中提取整数值 并且only之间 111222 garbage 999888 start 123456 end start 654321 end 想要的结果 123456 654321 这
  • 导致TTS初始化失败的原因有哪些?

    在以下场景中观察到 TTS 初始化错误 该错误过于随机 TTS 引擎已安装 语音集已存在 并且可以从辅助功能选项中播放示例 tts TTS 初始化在先前初始化和播放的同一设备上随机失败 在不同的设备 一加 华硕 三星 和各种 Android
  • UICollectionView - 滚动到下一页

    是否有机会使用 UICollectionView 滚动到所需的项目 scrollToItemAtIndexPath 并且不捕捉到项目本身 而是捕捉到项目所属的页面 我启用了分页功能 Cheers 你需要创建NSIndexPath而不是滚动到
  • 创建自定义 UTI 以与空投、iOS 一起使用

    我在 info plist 中使用此代码
  • 在 Bash 中动态构建命令管道

    我正在编写一个带有选项的 bash 程序 例如 my program l 3 a s l 3将输出限制为三行 a将选择我的所有文件 s将对输出进行排序 现在 我可以这样一次使用两个选项 if all 1 then if sort 1 the
  • 升级 ng-jhipster 库以兼容 Angular 16.2.0

    我正在开发一个依赖 ng jhipster 库的 Angular 应用程序 特别是版本 0 16 0 以下是 ng jhipster 的 package json 中的相关部分 name ng jhipster description A
  • 由于“无法获取 QuerySet 类的 repr”错误,嵌套序列化器上的非空约束失败

    尝试在我的 DRF 项目中使用基本的消息传递功能 我似乎对嵌套序列化器验证有问题 我是 DRF 的新手 已经阅读文档几天了 但我一定错过了一些东西 错误发生在行内message Message objects create validate
  • JIT 与解释器

    我找不到 JIT 和解释器之间的区别 Jit 是解释器和编译器的中介 在运行时 它将字节代码转换为机器代码 JVM 或实际机器 下次 它从缓存中获取并运行 我对吗 解释器将直接执行字节码 而不将其转换为机器代码 是对的吗 我们电脑中真正的处
  • HTML5 视频 JavaScript 控件 - 重新启动视频

    我知道如何使用 play 和pause 开始和停止视频 但是如何使用 javascript 将视频放回到 HTML5 的开头 有没有办法将指针移回开头 Set the currentTime http www w3 org TR html5
  • 针对特定集合的多对多关系核心数据查询

    public enum Ability String case newcomer Newcomer case beginner Beginner case intermediate Intermediate case advanced Ad
  • ActiveRecord 包括。指定包含的列

    我有模特个人资料 个人资料有 一个用户 用户模型具有字段电子邮件 当我打电话时 Profile some scope includes user it calls SELECT users FROM users WHERE users id