我有兩個類,ProjectTypes
和RiskTypes
,都是多對多的,所以在模型上都有 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)
這顯然是對我還不了解的關系的一些基本理解,非常感謝任何幫助......
uj5u.com熱心網友回復:
由于 project_types 是一個陣列,因此您必須按如下方式分配它:
r1.project_types = [p2]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/516971.html
標籤:轨道上的红宝石活动记录