2015-10-09 68 views
1

嗨我有一個錯誤AssociationTypeMismatch: Clan(#92877230) expected, got String當我嘗試播種我的數據庫。Rails AssociationTypeMismatch:Clan expected,got String

我有2個物體ClanFamily和我有一個關係,即Clan的has_many簇和Family屬於家族。

在我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。

我試圖添加與相同的錯誤accep_nested_attributes_for。

編輯:

我做了一些testings,它看起來像氏族,家庭對象的屬性cousing的問題。

這裏是家族對象從種子的例子:

{name: "Krab", 
    clan_name: "Krab", 
    mon_img: "", 
    desc: "foo bar foobar"}, 

,這裏是家族對象的例子:

{ name: "Toritaka", 
    clan: "Krab", 
    desc: "some text....", 
    bonus: "+1 Spostrzegawczość", 
    mon_img: ""}, 

我可以在控制檯中的任clan.families創建只要我不要設置部落屬性。

+0

錯誤指向哪一行? – Pavan

+0

''clan.families.create(family)if clan.name == family [:clan]' – Kazik

+0

我做了一些測試,發現問題的東西是家族對象的族屬性。我會更新這個問題 – Kazik

回答

1

如前所述,問題是由Family對象中的clan變量引起的。除了一些名稱衝突之外,不要有任何ide的方式。

將姓氏從'氏族'更改爲'clan_name'完成了這個把戲:)

相關問題