Arasındaki fark nedir t.references
ve t.belongs_to
? Neden bu iki farklı kelimeye sahibiz? Bana öyle geliyor ki aynı şeyi yapıyorlar? Biraz Google araması denedim, ancak bir açıklama bulamadım.
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
Aynı şekilde çalışıyorlar - bu çok kötü bir şey mi? referanslar sizin için bir yabancı anahtar sütunu ekler. Bunun yerine, geçişinizi daha okunaklı hale getirmek için, bunun yerine kendi_to'yu kullanabilirsiniz. Bkz guides.rubyonrails.org/migrations.html bazı detaylar için.
—
muffinista
Kötü bir şey olduğunu söylememek. Aynı şekilde mi yoksa farklı şekillerde mi çalıştıkları konusunda kafam karıştı, çünkü aynı şekilde çalıştıklarını belirten özel bir belge bulamıyorum. http://guides.rubyonrails.org/migrations.html de bu konuda net değil.
—
Tornskaden
Bu muhtemelen sadece geriye dönük uyumluluk içindir ve
—
bricker
references
kullanımdan kaldırılacak ve gelecekteki bir ray sürümünde kaldırılacaktır. Bu konuda sözüme güvenmeyin, bu sadece akıllıca bir tahmin
"Diğer yardımcıya referanslar denir (aittir_tolarak da mevcuttur). En basit haliyle, sadece biraz okunabilirlik katar" - kılavuzdan
—
muffinista
Ayrıca kaynak kodu da burada - aittir_to, referansların düz bir takma adıdır github.com/rails/rails/blob/…
—
muffinista