Ich habe diesen Codeausschnitt verwendet, um zu versuchen, einige Daten in einem benutzerdefinierten Benutzerfeld massenhaft zu ersetzen. Ich habe ihn vom Ning-Importer abgeleitet.
users=User.where("users.created_at <= '2019-09-13'::timestamp")
users.each do |u|
u.custom_fields = {"user_field_16" => "Nil"}
u.save
end
Dies hatte jedoch die unbeabsichtigte Folge, dass die anderen benutzerdefinierten Feldwerte der Benutzer gelöscht wurden.
Kann mir jemand eine Möglichkeit vorschlagen, einen benutzerdefinierten Benutzerfeldwert von der Konsole aus zu ändern, ohne Chaos zu verursachen?
und dann müssten Sie es entweder aktualisieren oder ein neues erstellen.
Wenn Sie jedoch mehrere erstellen, zeigt die Benutzeroberfläche sie durch Kommas getrennt an, und wenn sie über die Benutzeroberfläche bearbeitet werden, werden sie beim Speichern wieder als einzelner Wert gespeichert.
Sie können sie sich ansehen mit
UserCustomField.all
Oder
UserCustomField.where(name: x)
Das ist aus dem Gedächtnis auf meinem Handy, also kann es sein, dass es Abweichungen gibt.