基本上我正在運行rake任務來更新我的rails 3應用程序中的「筆記」字段。目前,我有我的任務設置如下:需要幹起我的耙子任務
desc "Update notes"
task :get_notes => :environment do
Product.find(:all, :conditions => ["categories like ?", "%" + '123456' + "%"]).each do |product|
old_note = product.notes
notes = old_note + ", <new note>"
product.update_attribute(:notes, notes)
end
的問題是我有大約250獨特的類別,有250個獨特的筆記進行更新,所以我基本上只是在我的任務複製這個超過250倍。我怎樣才能更有效地完成這件事? (這只是一次性的事情,但我想知道如何更好地爲未來的問題做到這一點)。
如果您有一個類別ID和一系列註釋的數組,您可以使用Array [zip](http://www.ruby-doc.org/core-1.9.3/Array.html#method-i- zip)方法將它們連接在一起並在每個塊內調用add_note。 –