ruby-on-rails - Modelwhichbelongs_to可以是几个模型?

标签 ruby-on-rails associations

这是我现在的情况:

Adword has_many pages
page belongs_to Adword

现在我想放置另一个广告提供商,这也将生成页面。所以,理想情况下我想以某种方式说类似的话(这就是我迷失的地方):

AdProvider has_many pages
page belongs_to AdProvider

AdProvider 可以是 Adwords、X、Y - 在 Rails 中处理此类情况的正确方法是什么?现在,我在页面中只有一个 adword_id 属性,但会有一些页面不与 Adword 关联,而是与另一个广告提供商关联。

最佳答案

使用Polymorphic association .

来自文档:

With polymorphic associations, a model can belong to more than one other model, on a single association. For example, you might have a picture model that belongs to either an employee model or a product model.

关于ruby-on-rails - Modelwhichbelongs_to可以是几个模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22052712/

相关文章:

c# - 使用关联打开文件

ruby-on-rails - 我的 application.js 无法工作并且 application.css 无法在 Rails 中更新

android - Rails 将授权 token 传递给 Android 应用

javascript - 根据条件从 Rails Controller 调用 jquery 函数

grails - Grails的理解属于TotalTo协会

php - CakePhp 3 - 如何在包含结果中按 SUM 排序

ruby-on-rails - NoMethodError - 未定义方法 `get' 为 nil :NilClass

ruby-on-rails - 用户 "postgres"的 PostgreSQL 密码身份验证失败,与我的应用程序配置中指定的用户不同

ruby-on-rails - 外键 : belongs_to & has_one difference

ruby-on-rails - 我无法使用accepts_nested_attributes_for 创建模型对象。它不会创建嵌套对象