当前位置: 首页 > 知识库问答 >
问题:

Rails:Has_Many通过多态性在模型中找不到关联

宋成天
2023-03-14

我遇到了一个小问题,我试图通过联想得到一个多面体:

有许多:类别,如::可分类,通过::分类

有很多:可分类,通过::分类,依赖::销毁

有许多:类别,如::可分类,通过::分类

属于:可分类,:多态=

属于:类别

def更改

create_table :categories do |t|
  t.string :name

  t.timestamps
end

create_table :categorizations do |t|
  t.references :category

  t.integer :categorizable_id, :polymorphic => true
  t.string :categorizable_type, :polymorphic => true

  t.datetime :created_at
end

add_index :categorizations, :category_id   

结束

我得到了这个错误:

找不到关联:模型帖子中的分类

或者当我尝试分类时

找不到关联:模型类别中的分类

有人知道问题出在哪里吗?

共有1个答案

景国兴
2023-03-14

您还需要在类别发布事件中指定:分类关联。此外,您的as选项应转到分类关联,因为这是您具有多态性的地方。

Post类:

class Post < ActiveRecord::Base
  has_many :categorizations, as: :categorizable
  has_many :categories, through: :categorizations
  # ...
end

您应该以类似的方式修改Event类。

类别类:

class Category < ActiveRecord::Base
  has_many :categorizations
  has_many :categorizables, through: :categorizations, dependent: :destroy
  # ...
end

 类似资料:
  • 错误:光电控制器中存在FatalErrorException。php第17行:找不到类“App\Http\Controllers\photo” 此代码出现异常-

  • 当开始使用模型时,我得到了以下错误 未找到类帖子。 我所做的一切: -使用命令 -尝试使用

  • 我得到了一个相当简单的应用程序,用户可以报告其他用户的评论和食谱。我使用多态关系来存储报告。它工作得很好;然而,我现在正试图了解用户所犯的罪行。 获取用户报告不是问题,这可以直接使用

  • 问题内容: 在这里看看示例: http : //docs.angularjs.org/api/ng.filter filter 您可以使用来按电话的任何属性进行搜索,也可以使用来按名称进行搜索,然后按名称对结果进行适当过滤(按预期方式输入电话号码不会返回任何结果)。 比方说,我有一个“名称”属性,“电话”属性,一个“秘密”性质的模型,我怎么会去通过过滤 都 在“名称”和“电话”属性和 没有 “秘密

  • 问题内容: 我的ActiveRecord模型中有以下查询方法: 因此,这将查找所有具有从逗号分隔的列表中获取的标签并转换为数组的标签的记录。 目前,这会匹配带有ANY匹配标签的记录-如何使其在匹配所有标签的地方工作。 IE:如果当前如果我输入:“ blue,red”,那么我将获得所有标记为blue或red的记录。 我想匹配所有标有蓝色和红色的记录。 有什么建议吗? - 编辑 - 我的模型是这样的:

  • 我有一个ASP。NET核心Web APIendpoint,它接受(FromBody)下面定义的搜索对象 因此...如果我将以下JSON发布到我的endpoint {“pageSize”:10,“query”:{“fieldId”:“body”,“value”:“cake”,“operator”:“matches”} 我成功地获取了一个搜索对象,但查询属性的类型是Expression,而不是Matc