- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的模型:
Content
RelatedList
RelatedGroupList < RelatedList # STI
ContentListing
在内容上,我有
has_many :content_listings # all the below relations are joined using this which has content_id and related_list_id columns
has_one :related_group_list, through: :content_listings, source: 'RelatedList'
has_one :related_people_list, through: :content_listings, source: 'RelatedList'
has_one :related_website_list, through: :content_listings, source: 'RelatedList'
基本上,我想获取“content.related_group_list”,它应该获取相关组列表的记录。
但是,我得到这个错误:
ActiveRecord::HasManyThroughSourceAssociationNotFoundError: Could not find the source association(s) :RelatedList in model ContentListing. Try 'has_many :related_group_list, :through => :content_listings, :source => <name>'. Is it one of :content or :related_list?
我用这一行检查了我的 ContentListing 模型:
belongs_to :related_list
我的 ContentListing 模型中缺少什么?
编辑 1:
在我发布这个问题之后,我阅读了一些关于协会的其他文章并更改了行
has_one :related_group_list, through: :content_listings, source: 'RelatedList'
到
has_one :related_group_list, through: :content_listings, source: :related_list
它现在给我以下错误:
ActiveRecord::HasOneThroughCantAssociateThroughCollection: Cannot have a has_one :through association 'Content#related_group_list' where the :through association 'Content#content_listings' is a collection. Specify a has_one or belongs_to association in the :through option instead.
我要我的
has_one :related_group_list, through: :content_listings, source: :related_list
自动仅获取类型为 RelatedGroupList 的 related_list,然后通过我的 ContentListing 加入。可能吗?
最佳答案
这里不能设置has_one关系 'related_group_list' 可以设置has_many。
因为Content有很多个content_listing,每个content_listing都有一个related_list。这意味着每个内容可以有多个 related_group_list 而不是一个。
所以如果你想获取 content.related_group_lists 那么你可以这样做
在 ContentListing 模型中——:
class ContentListing < ActiveRecord::Base
belongs_to :related_list
belongs_to :related_group_list, class_name: 'RelatedList',
foreign_key: 'related_list_id'
belongs_to :content
end
在内容模型中-:
class Content < ActiveRecord::Base
has_many :content_listings
has_many :related_lists, through: :content_listings
has_many :related_group_lists, through: :content_listings
end
关于ruby-on-rails - STI 与 has_one 通过不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18868969/
伙计们,我们正在构建一种地址簿,我们有用户、联系人和一个名为 UserEntity 的父表。我们希望通过一个名为关系的表将它们以多对多关联的方式关联起来,这种关系必须在 UserEntity 表中的自
我这里有一个多态关联和 STI 的案例。 # app/models/car.rb class Car true end # app/models/staff.rb class Staff :bor
尝试在测试引导加载程序上实现硬件中断。异常(exception)正在工作(因此发现它是 GPF)。当尝试sti时,会发生GPF。这是我的主要代码: cli lgdt [gdt_desc
尝试在测试引导加载程序上实现硬件中断。异常(exception)正在工作(因此发现它是 GPF)。当尝试sti时,会发生GPF。这是我的主要代码: cli lgdt [gdt_desc
我目前有多个非常相似的表。我可能应该用 STI 创建它们。 TypeOne # 如果我尝试使用 becomes,它似乎改变了类,但我找不到 BaseModel 中的记录 TypeOne.last.b
我很难弄明白这到底是怎么回事。 我有一个模型 Page,它有两个子类,分别称为 QeopPage 和 GymPage。我正在尝试创建一个 gympage,但两个类中的验证一直失败,并显示 'Valid
我对 Doctrine 很陌生,所以欢迎任何一般性建议。我正在努力实现以下目标: 一个页面可以同时包含视频和照片。两者都是媒体和共享属性,所以我认为单表继承是有意义的。以下是我的设置的相关部分: 页面
因此,在编写了一个大的 .tex 文件并使用了许多包之后,我想存档所有内容,不仅是 .tex .jpg 文件,还有 .sty 文件。 这是因为有时sty文件中的某些选项被更改,然后我无法编译该文件。
我的要求是编写一个查询以根据模型的嵌套关联在 STI 上检索基于模型的记录。 这是我的模型的样子: class Loan (cities) { joins(:address).where("addre
我需要能够为用户安排提醒。所以我想我可以创建一个基本模型 Reminder并使用 STI 生成覆盖函数 fire() 的后代类, 在提醒触发时调用。但是不同的用户角色有相似类型的提醒。所以他们需要命名
在我的 Rails 应用程序中,我有这样的模型 class Account :owner_id end 和 class DiscountSystem 'Account::DiscountSys
使用 STI 时,从与 rails 3 的 has_many 关联中获取集合时,我遇到了一些奇怪的行为。我有: class Branch 2 Branch.first.admins.count =>
设置 我有一个像这样的 STI 设置: class Transaction { where type: Deposit } end class Deposit { where state: :pe
class Upload < ActiveRecord::Base has_many :comments end class Gallery < Upload has_many :im
生成 pdf 投影仪文件时出现以下错误。我正在尝试解决这个问题,但我还没有成功。如果您能提供帮助,我将不胜感激。 ! LaTeX Error: File `tabu.sty' not found. T
我正在使用Devise和Rolify开发Rails 3.2.13应用程序,我需要具有3种用户类型,如下所示: class User 'User one', :email => 'userone@te
我在使用 STI 和多态关联时感到困惑,所以什么时候应该使用 STI 或多态关联? 最佳答案 以下是可以帮助您做出决定的不同场景 数据库结构。STI 仅使用一张表来存储数据库中的所有类。关系,而多态关
我在raspbian中使用python2。我正在尝试在树莓派上运行 esptool.py。 导入错误:没有名为 sty 的模块 最佳答案 来自https://pypi.org/project/sty/
我想使用自定义类型列将 STI 添加到现有表中。我们称这个taste_type为Fruit,对应的模型为Fruit。 在水果模型中我有: set_inheritance_column :taste
我想知道,将一个子类记录转换为另一个子类记录的 Rails 方法是什么,仅更改类型是行不通的,而且从父类(super class)到子类,反之亦然。 提前致谢 马尔科夫 最佳答案 您所要做的就是更改类
我是一名优秀的程序员,十分优秀!