Category(#35300) expected, got '1' which is an instance of String(#5180)
在创建关联关系的时候,出现了报错,类似这样的,Category(#35300) expected, got "1" which is an instance of String(#5180)
class Network < ApplicationRecord
has_many :contracts
end
class Contract < ApplicationRecord
belongs_to networks, optional: true
end
原因,在创建表 contract 的时候,与network属于1:n的关系,使用了belongs_to :networks,以及has_many: contracts,
由于版本的原因,在存在关联关系的时候,如果想要单独创建contract,那么需要使用belongs_to: networks, optional: true.

那么在使用了optional的时候,依旧不能单独保存数据,是因为创建表的时候,有了一列名称为network,而关联关系的列是network_id, 如果存在id列,就不需要network,不然不能识别。