Dari dokumentasi ActiveRecord :: Base :
buat (atribut = nil) {| objek | ...}
Membuat objek (atau beberapa objek) dan menyimpannya ke database, jika validasi lulus. Objek yang dihasilkan dikembalikan apakah objek berhasil disimpan ke database atau tidak.
baru (atribut = nil) {| self if block_given? | ...}
Objek baru dapat dipakai sebagai kosong (lewat tidak ada parameter konstruksi) atau pra-set dengan atribut tetapi belum disimpan (lulus hash dengan nama-nama kunci yang cocok dengan nama kolom tabel terkait). Dalam kedua kasus, kunci atribut yang valid ditentukan oleh nama kolom dari tabel terkait - maka Anda tidak dapat memiliki atribut yang bukan bagian dari kolom tabel.
Jadi create
instantiate objek baru, validasikan, dan simpan ke database. Dan new
hanya membuat objek lokal tetapi tidak berusaha untuk memvalidasi atau menyimpannya ke DB.