问题标签 [has-many-polymorphs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9867 浏览

ruby-on-rails-3 - HABTM 多态关系

我对 Rails 很陌生,我正在尝试建立多态 HABTM 关系。问题是我要关联三个模型。

第一个是事件模型,然后是两种参与者:用户和联系人。

我想做的是能够以与会者的身份将用户和联系人联系起来。所以,我现在在我的代码中拥有的是:

事件模型

用户模型

联系方式

  1. HABTM 表迁移需要如何?我有点困惑,我没有找到任何帮助。
  2. 它会工作吗?
0 投票
1 回答
218 浏览

ruby-on-rails - Has_man 用于不同的类

事情就是这样。

我正在开发一个只是为了学习的网页游戏,我遇到了这个问题。

我有一个拥有许多物品的角色,但这些物品可以是equipable_items 或usable_items(都来自不同的类别)。

有没有办法让我的 Character 类中有一个 has_many 以将两个类的一袋物品放在一起?

0 投票
1 回答
1368 浏览

ruby-on-rails-3 - 多态 :has_many, :through 作为 Rails 3.1 插件中的模块

我到处搜索指向此的指针,但找不到。基本上,当其他人在 :has_many、:through 方式中创建多态关系时,我想做其他人想做的事情……但我想在模块中做。我一直被卡住,并认为我必须忽略一些简单的事情。

以机智:

使用如下所示的迁移:

当然,这个想法是任何加载acts_permissive 都将能够拥有它拥有的圈子列表。

对于简单的测试,我有

失败了:

我尝试过::class_name => 'ActsPermissive::PermissiveCircle'在 has_many :ownables 行上使用,失败并显示:

在遵循建议和设置:source => :ownable失败时

这似乎表明用非多态性做事是必要的。所以我添加了一个与此处设置类似的 circle_owner 类:

通过迁移:

仍然失败:

这让我们回到了起点。

  1. 我怎样才能在一个模块上做一个看起来相当常见的多态 :has_many, :through ?
  2. 或者,是否有一种好方法可以让任意对象以与模块一起使用的类似方式收集对象?
0 投票
1 回答
742 浏览

ruby-on-rails - 单独的多态关联表

在阅读了 Ruby on Rails 指南和一些 stackoverflow 对有关多态关联的问题的回复之后,我了解了它的使用和实现,但我有一个关于特定使用场景的问题。我有tags它可以与多个topics,和其他各种模型(它们也有变化的 )相关联categories,但我不想将参考字段(, )放在表中,而是创建一个单独的关联表。这仍然可以使用吗?imagestagsforeign_idforeign_typetags:polymorphic => true

像这样的东西:

如果这不可能,我计划创建同一个:object_tags表并:conditionsTag模型和其他模型中使用来强制关联。有没有这样做的rails方式?谢谢!(使用 rails 3.0.9 & ruby​​ 1.8.7 <- 因为部署服务器仍在使用 1.8.7)

更新: 谢谢德尔巴!答案是 HABTM 多态性的有效解决方案。

更新:因为我需要双向 HABTM,我最终回到创建单独的表。

0 投票
2 回答
165 浏览

ruby-on-rails - 从通过表单上传的文件访问嵌套属性资产上的 attr_writer

我有以下模型结构

并希望将 user_id 放入与资产关联的值中。我在将变量关联到上传的文件时遇到问题。这是发布的数据:

并且想要访问 Asset 中的 session_user_id。在 items_controller 中,我添加了:

但我收到错误消息:

“3”的未定义方法“资产”:字符串

我觉得我已经尝试了每一种变化。如何让它工作?

0 投票
1 回答
200 浏览

ruby-on-rails-3 - 多态has_many:通过关系

我阅读了一些相关问题并尝试与 has_many :through + polymorphic 建立关系,如下所示。

“作者”的迁移文件是:

添加了如下数据。

当我检查数据时,这工作正常。

虽然这返回零。

我找不到错误。请帮我!

0 投票
1 回答
262 浏览

ruby-on-rails - 如何在子记录上选择具有特定条件的父记录?

我正在使用 Rails 3 和 MongoDB(mongoid 适配器)构建应用程序。我正在努力在子记录中找到具有特定条件的父记录。

我想选择特定用户尚未订阅的食物。

这是我的查询不起作用。

但它会返回所有食物。我的查询有什么问题?

任何帮助表示赞赏。

谢谢

0 投票
1 回答
759 浏览

ruby-on-rails - 是否可以在同一字段上分配多个 has_many ":as" 多态关系?

像这样设置我的数据库(“类型”始终是用户,尽管我通过 STI 有不同类型的用户):

明信片型号:

我想设置这样的用户模型:

所以我可以说:

是否可以?

PS:我也试过这条路:

但发现自己被困在范围上,因为 :finder_sql 重新创建了一个全新的 SQL:

0 投票
0 回答
88 浏览

ruby-on-rails - 如何通过多个 has_many :through?

我需要访问一个信息,该信息存储了我正在查询的两个关系。

所以我想做的是找到属于一个位置的所有信息,无论它是什么 InformationType。

最好的情况是Information.where(location: 'Location A')

任何人都知道如何实现这一点?

- - 更新 - -

通过添加以下内容,我至少设法获得了属于信息的位置:

delegate :location, to: :information_type

如果我现在能以某种方式完成这项工作:

Information.where(location: 1)

我会很高兴的。任何人?:)

0 投票
1 回答
798 浏览

ruby-on-rails - Rails 多态关联 - has_many 条件错误

我正在使用 rails 3.2.8 并且在多态关联方面遇到了一些麻烦。我有一个模型活动,它是多态的,它与另一个多态模型贡献相关,可以是资产文件、传记、动态注释或引用。

所以祖父是活动......父亲是贡献,最后(贡献的)儿子是传记,资产文件,动态注释或引文。

我的模型东西聚合了所有这些概念,我有下一个代码:

问题:我打开控制台并输入了下一个查询:

我得到的sql:

这是一个正确的答案

然后我在命令后输入:

我得到的sql:

我得到了一个 void 结果,因为该对象不能有两种类型的 corse。

如果有人可以帮助我,我会很感激:)

提前致谢,