不得不说我并没有真正寻找解决方案,因为我不知道我应该寻找什么。
情况是这样的:
我有一个对象(NewsItem),它有一个名为标签的关系。
class NewsItem < ActiveRecord::Base
has_many :tags
end
在提交导致此错误的更新/创建表单时,我将这些标签作为字符串数组获取:
ActiveRecord::AssociationTypeMismatch
Tag expected, got String
现在,在 rails 将它们保存为关系之前,我需要将这些字符串转换为标签,如下所示:
params[:tags].each do |tag|
Tags.find_or_create_by_name(tag)
end
通过这种方式,rails 可以获得所需的标签。
我知道我可以把它放在控制器中,但我需要它在模型上..
我怎样才能做到这一点?
提前致谢!