Rails has_and_belongs_to_any关系基本理解失败-没有方法错误



我有两个类,ProjectTypesRiskTypes,它们都是多对多的,所以它们在模型上都有has_and_belongs_to关系。

当我运行rails c时,我可以执行以下操作:

r1 = RiskType.last

返回最后一个风险类型

#<RiskType:0x00007f15e0a20d58
id: 5,
Rtype_name: "test type",

项目类型也是如此

p2 = ProjectType.last

这种关系就像我运行时一样

r1.project_types

我得到了我在种子中设置的项目类型,但现在如果我想改变它,使r1与p2相关,我会得到一个错误。

r1.project_types = p2

错误是:

/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activemodel-6.1.4.1/lib/active_model/attribute_methods.rb:469:in `method_missing': undefined method `each' for #<ProjectType id: 2, Ptype_name: "EDD", created_at: "2022-09-27 08:17:58.382009000 +0000", updated_at: "2022-09-27 08:17:58.382009000 +0000"> (NoMethodError)

这显然是我对人际关系的一些基本理解,我还不理解,非常感谢任何帮助。。。

由于project_types是一个数组,您必须按如下方式分配它:

r1.project_types = [p2]

相关内容

  • 没有找到相关文章

最新更新