Apa perbedaan antara t.references
dan t.belongs_to
? Mengapa kita memiliki dua kata yang berbeda itu? Menurut saya mereka melakukan hal yang sama? Mencoba beberapa pencarian Google, tetapi tidak menemukan penjelasan.
class CreateFoos < ActiveRecord::Migration
def change
create_table :foos do |t|
t.references :bar
t.belongs_to :baz
# The two above seems to give similar results
t.belongs_to :fooable, :polymorphic => true
# I have not tried polymorphic with t.references
t.timestamps
end
end
end
1
Mereka melakukan pekerjaan yang sama - apakah itu hal yang buruk? referensi menyisipkan kolom kunci asing untuk Anda. Anda dapat menggunakan milik_to untuk membuat migrasi Anda lebih mudah dibaca. Lihat panduan.rubyonrails.org/migrations.html untuk beberapa detail.
—
muffinista
Tidak mengatakan itu hal yang buruk. Hanya menjadi bingung tentang apakah mereka bekerja dengan cara yang sama atau berbeda, karena saya tidak dapat menemukan dokumentasi yang secara khusus mengatakan bahwa mereka bekerja dengan cara yang sama. http://guides.rubyonrails.org/migrations.html juga tidak jelas tentang hal itu.
—
Tornskaden
Ini kemungkinan hanya untuk kompatibilitas ke belakang dan
—
tukang batu
references
akan ditinggalkan dan dihapus di rilis rel yang akan datang. Jangan percaya kata-kata saya ini, itu hanya tebakan yang cerdas.
"Pembantu lain disebut referensi (juga tersedia sebagai milik_to). Dalam bentuk yang paling sederhana, ia hanya menambahkan sedikit keterbacaan" - dari panduan
—
muffinista
Juga di sini kode sumber - milik_to adalah alias langsung dari referensi github.com/rails/rails/blob/…
—
muffinista