2011-03-31 103 views
0

时,这是错误:的ActiveRecord :: AssociationTypeMismatch设置关联

 
ActiveRecord::AssociationTypeMismatch in VideosController#update 
Topic(#2173382840) expected, got String(#2148246520) 

这是从这个方法:

def assign_topics 
    if @topic_names 
     self.topics = @topic_names.each do |name| 
     Topic.find_or_create_by_name(name) 
    end 
    end 
    end 

这是什么错误说?我不知道有是一个类型的“主题”当话题对我来说是一个模型......

+1

就是它的意思是“我想要一个主题,但你给了我一个字符串!“。 @ coder_tim的回答告诉你为什么这么说,以及你应该怎么做才能解决它。 – Phrogz 2011-03-31 21:39:19

+0

@Progrog - 感谢您的详细信息,我应该提到在我的回答 – 2011-03-31 21:42:26

+0

是的,但我认为Phrogz所说的是不言而喻的......我更关心为什么,这就是您回答@coder_tim – 2011-03-31 21:53:48

回答

5

“每个”返回原始数组或枚举,请尝试使用“地图”,而不是