这确实有效:
result.each do |f|
rt=ResTypes.new #( :type=>f['type'] )
rt.type=f['type']
rt.save()
end
这不起作用:
result.each do |f|
ResTypes.create( :type => f['type'] )
end
也不是这样:
result.each do |f|
rt=ResTypes.new( :type => f['type'] )
rt.save()
end
为什么不是第二种或第三种方式?
THX
编辑#1
这确实有效:
t=IO.read('db/seed-data/list-types.json')
lt_results=JSON.parse(t)
lt_results.each do |i|
l=ListType.create(i)
end
答案 0 :(得分:0)
可能与该属性无法进行批量分配有关。除此之外,它看起来应该有效。
答案 1 :(得分:0)
我可以确认Maletor建议的内容,type
属性默认情况下不可批量分配。这是因为它被设置为Active Record中的inheritance_column
,它用于单表继承。该字段通常由STI自动设置。
要使其分配,请在模型中设置:
class ResTypes < ActiveRecord::Base
self.inheritance_column = nil
end