我做错了,它是在我试图改变数据的方法或我定义关联的方式。
class Hive
has_many :bees, :dependent => :destroy
end
class Bee
belongs_to :hive
attr_accessor :alive, :name
end
>h = Hive.create()
>h.bees.where(:alive => false).count = 100 #created from after_initialize
>h.bees.where(:alive => false).each {|b|b.name="Walter"}
>h.bees.where(:name => "Walter").count = 0
我做错了什么?
谢谢!
答案 0 :(得分:2)
这应该可以解决问题......
h.bees.each do |bee|
bee.name = "Walter"
bee.save!
end
如果没有验证
validates_uniqueness_of :name
答案 1 :(得分:2)
尝试在块内调用save()来保留更改。