Sự khác biệt giữa t.references
và là t.belongs_to
gì? Tại sao chúng ta có hai từ khác nhau? Dường như với tôi họ làm điều tương tự? Đã thử một số tìm kiếm Google, nhưng không tìm thấy lời giải thích.
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
Họ làm việc như nhau - đó có phải là một điều xấu? tài liệu tham khảo chèn một cột khóa ngoại cho bạn. Thay vào đó, bạn có thể sử dụng poss_to để di chuyển dễ đọc hơn. Xem hướng dẫn.rubyonrails.org/migations.html để biết một số chi tiết.
—
muffinista
Không nói đó là một điều xấu. Chỉ bị nhầm lẫn về việc họ làm việc giống nhau hoặc theo những cách khác nhau, vì tôi không thể tìm thấy tài liệu cụ thể nào nói rằng họ làm việc như nhau. http://guides.rubyonrails.org/migations.html cũng không rõ ràng về vấn đề đó.
—
Tornskaden
Điều này có thể chỉ là để tương thích ngược và
—
thợ nề
references
sẽ không được chấp nhận và loại bỏ trong bản phát hành đường ray trong tương lai. Đừng hiểu ý tôi, đây chỉ là một phỏng đoán có giáo dục.
"Người trợ giúp khác được gọi là tài liệu tham khảo (cũng có sẵn như thuộc về). Ở dạng đơn giản nhất, nó chỉ cần thêm một số khả năng đọc" - từ hướng dẫn
—
muffinista
Ngoài ra đây là mã nguồn - poss_to là một bí danh trực tiếp của tài liệu tham khảo github.com/rails/rails/blob/
—
mẹo