如何在连接表中按条件接收对象

2024-02-29

我有桌子Games and Badges他们通过桌子连接BadgesGames.

t.integer "badge_id"
t.integer "game_id"
t.boolean "shown",    default: false

I have Game对象,我想找到所有Badges这不是shown

game_object.(condition?).badges

如何获得?


假设你有一个has_and_belongs_to_many建立“通过”关系:

class Game < ActiveRecord::Base
  has_many :game_badges
  has_many :badges, through: :game_badges
end

class GameBadge < ActiveRecord::Base
  belongs_to :game
  belongs_to :badge
end

class Badge < ActiveRecord::Base
  has_many :game_badges
  has_many :games, through: :game_badges
end

然后您可以使用以下内容:

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

如何在连接表中按条件接收对象 的相关文章

随机推荐

  • GCC对读/写指令的重新排序

    Linux 的同步原语 自旋锁 互斥锁 RCU 使用内存屏障指令来强制内存访问指令重新排序 这种重新排序可以由 CPU 本身完成 也可以由编译器完成 有人可以展示一些 GCC 生成的代码示例 其中完成了此类重新排序吗 我主要对 x86 感兴
  • 如何为 Seaborn 混淆矩阵添加正确的标签

    我已经使用将数据绘制成混淆矩阵seaborn但我遇到了一个问题 问题是它只在两个轴上显示从 0 到 11 的数字 因为我有 12 个不同的标签 我的代码如下所示 cf matrix confusion matrix y test y pre
  • 如何在 MS Windows 上加载 GTK Sharp 主题

    我正在 MS Windows 上使用 Xamarin Studio 5 4 编写 GTK Sharp v2 12 应用程序 安装的Mono版本是3 2 3 但我使用 Net工具链进行编译 因为Xamarin不允许我使用Mono工具链进行编译
  • 当listview滚动时edittext设置默认值

    我有带有 edittext 的列表视图和 按钮 当我单击按钮时更改编辑文本值 例如递增 递减 当我设置值时5并滚动列表视图 将 edittext 设置值作为默认值如 0 我正在使用这种方式 public View getView final
  • 将灰度图像转换为 3 通道图像[重复]

    这个问题在这里已经有答案了 我想转换具有形状的灰度图像 height width 到具有形状的 3 通道图像 height width nchannels 这项工作是通过for loop 但一定有一个简洁的方法 这是程序中的一段代码 有人可
  • Pyspark 数据框 LIKE 运算符

    Pyspark 中 LIKE 运算符的等效项是什么 例如我想做 SELECT FROM table WHERE column LIKE somestring 寻找像这样简单的东西 但这不起作用 df select column where
  • 如何覆盖 Rails 中的路线路径助手?

    我的路线是这样定义的 match user id gt user show as gt user 如果由于某种原因传递了 nil ID 我希望路由助手仅返回 如果 ID 不为零 我希望它返回正常路径 如 user 123 或者有没有更好的方
  • 通过 PowerShell 在 Firefox 中打开 URL?

    我希望通过 Powershell 脚本在 Firefox 中打开 url 让事情变得有点困难的是 Firefox 不是默认浏览器 它是一个便携式 Firefox 版本 Edit 我的便携式 Firefox 安装似乎存在一些问题 即使将其设置
  • 文本在空间上改变线条

    我有一个列表 其中留有一些用于缩进的空间 并且还提供了虚线底层 但是 那display用于此列表的属性不匹配 导致文本在找到空格时换行 这里有一个Fiddle http jsfiddle net gsamaras cmfL2643 16 T
  • 过滤掉 HTML 标签并解析 python 中的实体

    因为正则表达式让我害怕 所以我试图找到一种方法来删除所有 HTML 标签并从 Python 中的字符串解析 HTML 实体 Use lxml http lxml de 这是 python 最好的 xml html 库 import lxml
  • 为 Android 应用程序设置 ActionBarSherlock 主题

    阅读下面的更新 2 寻找答案 我正在尝试在我的应用程序中使用 ActionBarSherlock 我查看了 4 0 0 版本项目 github 仓库 https github com JakeWharton ActionBarSherloc
  • Flask-SQLAlchemy 超时错误

    我的后端配置是 乌班图12 04 Python 2 7 烧瓶0 9 Flask SQLAlchemy Postgres 9 2 我收到此错误消息 TimeoutError QueuePool limit of size 5 overflow
  • 如何在代码中使用Python覆盖率

    我想从代码内部捕获覆盖范围 我尝试了下面的一种 但出现错误 请参阅以下链接了解覆盖 API https coverage readthedocs io en v4 5 x api html api https coverage readth
  • 为什么我已经安装了 RabbitMQ 却找不到“rabbitmq.config”文件?

    我正在运行 Red Hat Enterprise Linux 7 2 我已经安装了 RabbitMQ 并systemctl status rabbitmq server shows rabbitmq server service LSB 启
  • 使用多个实例和背景大小时,Firefox 背景图像闪烁

    因此 我在页面上有几个共享背景图像的元素 我的页面正在使用 bootstrap 并且两个元素都是 3 列宽度的容器 每个都有一个背景并通过背景大小包含 在第二个元素上 我将背景宽度设置为 90 因此它比其他背景稍小 在 Firefox 中
  • 如何在 Objective-c 中的应用程序的资源文件夹中保存文件

    我正在为 iPhone 开发一个 Objective C 应用程序 我的问题是我的应用程序必须保存从网址获取的图像 我认为该文件夹是只读的 这是我保存图像的代码 void banner NSString path NSData imageD
  • UITableView:自定义标题标题视图不显示

    我想显示一个带有自定义标题标题的表格 这table view被附加到一个controller class实现了tableview delegate和数据源协议 但不是其子类UIViewController因为该表是要显示在另一个表视图之上的
  • 使用 fread() 选择行和列,就像 read.csv.sql() 那样

    I know fread相对较新 但它确实提供了很大的性能改进 我想知道的是 您可以从您正在阅读的文件中选择行和列吗 有点像什么read csv sql做 我知道使用select的选项fread我们可以选择要读取的列 但是如何只读取满足特定
  • 强类型定义[重复]

    这个问题在这里已经有答案了 有什么方法可以制作类型的完整副本 以便可以在模板推导上下文中区分它们 举个例子 include
  • 如何在连接表中按条件接收对象

    我有桌子Games and Badges他们通过桌子连接BadgesGames t integer badge id t integer game id t boolean shown default false I have Game对象