无法获取模型属性以在控制台中保留

时间:2013-03-15 20:09:50

标签: ruby-on-rails

假设我在我的控制台中有一堆由Review.rb模型创建的评论,该模型具有布尔属性“已完成”以指示评论是否完整。在我的开发数据库中,每个评论的完成属性当前设置为“true”,这是我通过UI完成的。但是,我现在想要使用控制台将完成的属性设置回其原始设置(nil),以便我可以在UI中尝试一些东西。因此,我在Rails控制台中执行了此操作。

>> Review.all.each do |s|
?> s.finished = nil
>> end

运行它的输出显示'finished'被设置为nil。但是,当我再次查询Review.all时,完成的属性仍设置为“true”。我猜我必须以某种方式保存,但我不知道如何。

2 个答案:

答案 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