我尝试播放数据库时遇到错误AssociationTypeMismatch: Clan(#92877230) expected, got String
。
我有2个对象Clan
和Family
,我有Clan
has_many家庭,Family
属于Clan的关系。
在我的seed.rb中我有这样的函数:
Family.destroy_all
clans = Clan.all
clans.each do |clan|
families.each do |family|
clan.families.create(family) if clan.name == family[:clan]
end
end
families
是应包含所有系列的哈希数组。
从我的搜索中,我认为,在创建family
时,它会查找一个部落的ID。
我尝试使用相同的错误添加accepts_nested_attributes_for。
编辑:
我做了一些测试,它看起来像Family对象的clan属性正在解决这个问题。
以下是来自种子的氏族对象的例子:
{name: "Krab",
clan_name: "Krab",
mon_img: "",
desc: "foo bar foobar"},
这是家庭对象的例子:
{ name: "Toritaka",
clan: "Krab",
desc: "some text....",
bonus: "+1 Spostrzegawczość",
mon_img: ""},
只要我没有设置clan属性,我就可以在控制台中创建任何clan.families。
答案 0 :(得分:1)
如前所述,问题是由Family对象中的clan
变量引起的。除了一些名字冲突之外,别有什么想法。
将名称从'clan'更改为'clan_name'完成了诀窍:)