has_many 关系的每个最后元素的作用域

2023-12-30

假设用户和消息之间有 has_many 关系。

我想设置一个范围,以便能够通过在其中拥有某些内容的用户来过滤用户last他们发布的消息。因此仅在每个用户的最后一条消息中进行搜索。

下面我得到了所有消息的结果......

class Contact < ActiveRecord::Base
    has_many :messages

    scope :filter_by_last_messages, lambda { |value|
        joins(:messages).where("messages.content = ?", value)
    }
end

在瞄准镜中一次性完成此操作是不可能的,但您可以这样做:

scope :last_message, joins(:messages)
         .select("contacts.*, messages.content")
         .order("messages.created_at")

在你的控制器中:

if @contact.last_message.content == value
  do_something
end

所以可以确定一点范围。

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

has_many 关系的每个最后元素的作用域 的相关文章

  • Clojure:让作用域和函数返回值

    我在弄清楚如何使用 let 形式时遇到了一些麻烦 在下面的示例中 我想在本地绑定值 cols 以便稍后在函数中处理它 然而 我注意到 如果我使用 let 函数 sel opt tmp 将返回 nil 值而不是列表 defn sel opt
  • 同一模型之间的两个 has_many 链接

    I have users其中有products通过 habtm 链接 该链接正在运行 我想添加一个链接user模型和product模型 以跟踪creator该产品的 当然 谁并不总是拥有该产品 但是当我写在我的user and produc
  • Ruby on Rails 中的三重连接

    我对 Ruby on Rails 中的关联有疑问 应用程序中有项目 用户 角色和组 项目属于一个有用户的组 一个用户可以属于多个不同的组 但只能在该组中拥有一个特定的角色 例如 在一个组中 用户是项目所有者 但在另一个组中 他是作家 使用
  • Mongoid - 同一外域的两个域的逆

    我试图让以下 Mongoid 关系发挥作用 但每个团队的游戏字段都是一个空数组 这不是一个有效的关系模型吗 我是否需要分开比赛 即主场比赛和客场比赛 class Team include Mongoid Document has many
  • 如何阻止与 RSpec 和 Capybara 的外部连接?

    在我的 Rails 项目中 我想编写非理想条件的测试 例如缺乏互联网连接或超时 例如 我正在使用 gem 来联系 API 并且希望确保在我的应用程序和外部 API 之间存在连接问题时能够正确处理错误 我已经可以通过用录像机制作固定装置并从
  • 如何以 Rails 方式处理 JavaScript 事件(例如“link_to :remote”)?

    我正在使用 Ruby on Rails 4 我想以 Rails 方式处理 JavaScript 事件 也就是说 例如 假设我有以下内容 link to destroy article path article method gt delet
  • 当一组工作人员完成时如何执行 Sidekiq 回调

    假设我有一个 Sidekiq 任务将产品处理到我的数据库 每个产品都按商店分组 因此我的代码的一个过于简化的示例将是这样的 stores each do store store products each do product Produc
  • 从 url 导入 CSV Errno::ENAMETOOLONG: 文件名太长

    我正在尝试从 url 导入 CSV 文件 但我得到了Errno ENAMETOOLONG file name too long 我按如下方式处理该文件 require open uri url http de65 grepolis com
  • 多态控制器和调用对象

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

    前言 我正在使用设备进行身份验证 我试图阻止未经授权的用户查看 编辑或更新其他用户的信息 我最关心的是用户将 DOM 中的表单修改为另一个用户的 ID 填写表单 然后单击更新 我已经专门阅读过 像下面这样的东西应该有效 但事实并非如此 SO
  • 使用 Ajax 在输入时提交 Textarea,然后渲染部分内容而不刷新整个页面

    目前我正在尝试通过 JS 和 Ajax 在没有提交按钮的情况下发表评论 并且它有效 问题是当帖子提交时 页面重新加载到 post id comment页面 我希望它呈现部分内容 而不是刷新整个页面或将我带到不同的页面 我对 JS 不熟悉 任
  • git push heroku master 权限被拒绝

    我正在关注 ruby railstutorial 我运行命令 git push heroku master 它吐出了这个错误 Permission denied publickey fatal Could not read from rem
  • 目前最流行的 Ruby on Rails AUTHORIZATION gem/plugin 是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Heroku 部署错误

    在 Windows 环境中 尝试部署到 Heroku 时出现以下错误 C Ruby lib ruby gems 1 8 gems heroku 1 9 13 lib heroku commands base rb 32 in 没有这样的文件
  • 仅删除多对多关系

    我有一个 has and belongs to many friends join table gt friends peoples 要添加朋友 我会这样做 people followers lt lt friend这会创建关系和新的个人资
  • 多重要求和允许强参数rails 4

    在下面的情况下 我尝试使用强参数 我想要求email address password并允许remember me fields 但像下面这样使用它只允许最后一行在方法示例中 在下面的情况下 它只需要params permit rememb
  • 如何使用 Rspec 测试具有嵌套路由的控制器?

    我有 2 个使用轨道脚手架生成器创建的控制器 我希望它们嵌套在一个名为 demo 的文件夹中 所以运行 rails g scaffold demo flows rails g scaffold demo nodes 然后我决定将节点嵌套在流
  • 在 Rails 3 中渲染 Markdown 文本

    我想将 markdown 转换为 html 在我看来我有markdown some text variable 但我得到了错误undefined method markdown I added require BlueCoth 到envir
  • 如何为 jQuery 插件设置私有变量?

    我想创建一个简单的插件 它使用元素的文本作为默认值 或者您可以在调用插件时设置此值 但是 如果我不设置该值 并为多个元素调用插件 则默认值会成倍增加 function fn reText function options var setti
  • 即使在急切加载之后,belongs_to 关联也会单独加载

    我有以下关联 class Picture lt ActiveRecord Base belongs to user end class User lt ActiveRecord Base has many pictures end 在我的

随机推荐

  • 谷歌地球热图

    有没有办法在谷歌地球中创建热图 以便具有较高值 某些指定参数 例如人口 的区域显示为热点 这似乎是可能的 例如 看一下这几个链接 免责声明 我没有尝试过这些 HeatMapAPI com http www heatmapapi com An
  • 部分合并两个数据集并在R中填充NA

    我有两个数据集 a 包含数千个不同天气事件观测结果的原始数据集 STATE EVTYPE 1 AL WINTER STORM 2 AL TORNADO 3 AL TSTM WIND 4 AL TSTM WIND 5 AL TSTM WIND
  • 我可以用 sum() 连接列表吗?

    使用Pythonic吗sum 用于列表串联 gt gt gt sum n n for n in range 1 5 1 2 2 3 3 3 4 4 4 4 不 不是 实际上是Shlemiel 画家算法 http en wikichip or
  • Visual Studio 2010 与 SQL Server 2008 和 Office 2007 的正确安装顺序?

    我想创建一个 Windows 7 64 位 旗舰版 虚拟机 Visual Studio 2010 终极版 Office 2007 企业版 带有 Visio 2007 SQL Server 2008 带有 SSIS 和 SSRS 但我不确定是
  • 如何使用 Javascript 替换 DOM 元素?

    我正在寻找替换 DOM 中的元素 例如 有一个 a 我想用 a 替换的元素 span 反而 我该怎么做呢 通过使用替换子对象 https developer mozilla org en US docs Web API Node repla
  • 从 pyspark 访问 cassandra

    我正在开发 Azure Datalake 我想从我的 pyspark 脚本访问 cassandra 我试过 gt pyspark packages anguenot pyspark cassandra 0 7 0 conf spark ca
  • iOS:自定义TableViewCell - 初始化自定义单元格

    在我的 TableView 中 我有一个 NSMutableArray currList 的数据源 它包含对象 Agent 的对象 我创建了自定义的 TableCell 并正确设置了一切 我在显示数据时发现问题 UITableViewCel
  • 我如何使用 JDOM 解析以下 XML

    我有一个 XML 文档 如下所示
  • 如果我在完成之前中断sklearn grid_search.fit(),我可以访问当前的.best_score_、.best_params_吗?

    如果我在完成之前中断 grid search fit 我会丢失迄今为止所做的一切吗 我对网格搜索有点得意忘形 并提供了一个大得令人发指的搜索空间 我可以看到我已经满意的分数 但我的标准输出不显示哪些参数导致了这些分数 我搜索过文档 http
  • 在终端中运行 sbt 时卡在“获取 org.scala-sbt sbt 0.13.6 ...”

    类似的问题与如何在经过身份验证的代理后面使用 sbt https stackoverflow com questions 26582300 how to use sbt behind authenticated proxy 我尝试了给定的答
  • python if和else语句计算员工工资[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在这项作业上遇到了一些麻烦 它是关于计算员工工资的 就像编写一个Python程序 提示用户输入每小时费率和工作小时数并计算工资金额 任何
  • eclipselink + @convert(json) + postgres + 列表属性

    我使用 eclipselink 2 6 作为 spring data jpa 的持久性提供程序 根据我的理解 现在允许您使用内部 moxy 序列化器将实体的子树序列化为 json 因此 我尝试将其混合 以使用 postgres 的 json
  • 如何用星号替换Java字符串中的所有字符

    我想将 Java 字符串中的所有字符替换为 特点 所以它是什么字符并不重要 它应该被替换为 我知道互联网上有很多例子 但没有一个可以替代每个角色 我自己也尝试过 但没有成功 Java 11 及更高版本 str repeat str leng
  • Apache Spark - 处理临时 RDD 上的滑动窗口

    在过去的几个月里 我一直在使用 Apache Spark 进行大量工作 但现在我收到了一项相当困难的任务 即在配对的滑动窗口上计算平均值 最小值 最大值等RDD其中键组件是日期标签 值组件是矩阵 因此 每个聚合函数还应该返回一个矩阵 其中对
  • 创建新用户而不重置当前用户会话

    在我的 Parse Web 应用程序中 我有一个可供管理员访问的用户管理页面 此页面允许管理员创建新的用户帐户 要创建帐户 我使用Parse User signUp 它工作得很好 但它有重置当前用户会话的令人讨厌的副作用 这会注销创建新用户
  • 在没有 GUI 的情况下在退出的 Java 程序中设置热键

    我正在编写一个将连续运行的程序 我想知道是否有一个与 Autoit SetHotKey Key Action 等效的 Java 程序 我在这里看到了一个与 GUI 界面相关的答案 但我的程序没有 GUI 我只是希望程序在按下某个键 最好是
  • RecyclerView 过滤器不起作用

    我用过this https stackoverflow com questions 30398247 how to filter a recyclerview with a searchview 30429439 30429439过滤我的解
  • .NET 中的本地化地区/国家名称

    是否可以在 NET 中检索国家 地区的本地化名称 The 区域信息类 http msdn microsoft com en us library system globalization regioninfo VS 80 aspx只有 En
  • 如何在 RStudio 中清除 R 命令历史记录?

    我想完全清除 RStudio 中的 R 命令历史记录 我说的是当我按下向上和向下箭头键时 而不仅仅是通过单击扫帚来清除控制台 我尝试删除 Rhistory文件放在我的工作目录中并重新启动 RStudio 但该文件不断自行恢复 我该如何彻底摆
  • has_many 关系的每个最后元素的作用域

    假设用户和消息之间有 has many 关系 我想设置一个范围 以便能够通过在其中拥有某些内容的用户来过滤用户last他们发布的消息 因此仅在每个用户的最后一条消息中进行搜索 下面我得到了所有消息的结果 class Contact lt A