假设我在我的控制台中有一堆由Review.rb模型创建的评论,该模型具有布尔属性“已完成”以指示评论是否完整。在我的开发数据库中,每个评论的完成属性当前设置为“true”,这是我通过UI完成的。但是,我现在想要使用控制台将完成的属性设置回其原始设置(nil),以便我可以在UI中尝试一些东西。因此,我在Rails控制台中执行了此操作。
>> Review.all.each do |s|
?> s.finished = nil
>> end
运行它的输出显示'finished'被设置为nil。但是,当我再次查询Review.all时,完成的属性仍设置为“true”。我猜我必须以某种方式保存,但我不知道如何。
答案 0 :(得分:2)
这样做:
Review.all.each do |s|
s.finished = nil
s.save!
end
或尝试在结尾处致电Review.save_all
答案 1 :(得分:1)
save
个对象:
>> Review.all.each do |s|
?> s.finished = nil
?> s.save!
>> end
或者:
Review.update_all(:finished => nil) #in one line