Kann ich update_all auf array?
Habe ich die Liste der Kommentare in einem array. Kann ich update_all auf array ?
comments = Comments.find(:all,:conditions => ["test is not null"])
comments.update_all(:test => nil)
- Sie können
Comments.update_all("test = NULL", "test is not null")
statt - Lassen Sie mich diese Fragen wirklich schnell - haben Sie es ausprobiert? Rails-Konsole ist ein großes Werkzeug für Sie versuchen, diese Art der Sache heraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie, wenn Sie arbeiten mit Bereichen (
find
oderall
-in der älteren version von Rails - zurückgegeben wird ein array):Auf moderne Versionen von Ruby/ActiveRecord können Sie schreiben:
update_all ist eine Methode von ActiveRecord, und was Sie haben, ist ein Array, haben Sie zwei Möglichkeiten, entweder ActiveRecord durch Kommentare (werden update-Datenbank) oder map-array und ändern Sie nur den objets in Erinnerung und keine änderung der Datenbank:
oder
EDIT: Fehler im zweiten Beispiel ist c.test nicht c
c.save
oder sowas), und Sie gehen den ganzen Kommentar zunil
, nicht nurc.test
.