2013-03-15 61 views
0

假設我在我的控制檯中創建了一系列由Review.rb模型創建的評論,該模型具有「已完成」布爾屬性以指示評論是否完整。在我的開發數據庫中,每個評論的完成屬性目前都設置爲「true」,這是我通過UI完成的。但是,我現在想要使用控制檯將完成的屬性設置回其原始設置(nil),以便我可以在UI中嘗試一些操作。因此,我在Rails控制檯中這樣做了。無法獲得模型屬性在控制檯中持久保存

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

運行此操作的輸出顯示'已完成'被設置爲零。但是,當我再次查詢Review.all時,完成的屬性仍然設置爲「true」。我猜我必須以某種方式保存這個,但我不知道如何。

回答

1

save對象:

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

或者:

Review.update_all(:finished => nil) #in one line 
+0

非常感謝。我試圖將整個塊保存到一個變量並保存。咄。 – BrainLikeADullPencil 2013-03-15 20:18:25

+0

+1對於Review.update_all(:finished => nil),多數民衆贊成在做的方式:) – sameera207 2013-03-15 20:48:14

2

這樣做:

Review.all.each do |s| 
     s.finished = nil 
     s.save! 
end 

或嘗試調用Review.save_all