ActiveRecord: Einen Datensatz aktualisieren, falls vorhanden, sonst erstellen?

Es wird versucht, einen Erstellungsdatensatz zu implementieren, falls er nicht vorhanden ist. Andernfalls wird der Datensatz in Active Record aktualisiert.

Derzeit verwendet:

@student = Student.where(:user_id => current_user.id).first

if @student
    Student.destroy_all(:user_id => current_user.id)
end

Student = Student.new(:user_id => current_user.id, :department => 1
)
Student.save!

Was wäre der richtige Weg, um den Datensatz zu aktualisieren, falls er existiert, oder ihn zu erstellen?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage