Tôi là người mới bắt đầu ở Rails và tôi gặp sự cố với các liên kết ActiveRecords
.
tôi là tạo ra dịch vụ cho thuê xe đơn giản và tôi đã thực hiện các hiệp hội sau:Đường ray thuộc_to_many
class Client < ActiveRecord::Base
has_many :rentals
has_many :bookings
has_many :cars, :through => :rentals
has_many :cars, :through => :bookings
end
class Rental < ActiveRecord::Base
belongs_to :client, dependent: :destroy
has_one :car
end
class Booking < ActiveRecord::Base
belongs_to :client, dependent: :destroy
has_one :car
end
Những gì tôi cần là phải có một chiếc xe thuộc nhiều việc đặt và cho thuê trong khi mỗi đặt phòng và cho thuê có thể chỉ có một chiếc xe được giao.
class Car < ActiveRecord::Base
# belongs_to_many :bookings
# belongs_to_many :rentals
end
Tôi nên làm như thế nào?
Đó là những gì tôi đã tìm ra hôm qua, nhưng tôi cần xác nhận. Cảm ơn bạn đã giải thích! – squixy
Có "Tôi liên quan đến nhiều vấn đề này, và tôi có quan hệ" khóa ngoại "không? Nó là gì? Cảm ơn! – Ziggy
@ Ziggy, không có tùy chọn liên quan đến mô hình lưu trữ nhiều khóa ngoại, vì điều này không thực sự có thể bằng cách sử dụng các loại cột SQL chuẩn. Nếu bạn có mối quan hệ nhiều-nhiều (ví dụ: bài đăng có nhiều thẻ và thẻ có nhiều bài đăng), nó phải được đại diện bởi mô hình thứ ba (ví dụ: Gắn thẻ) trong cấu hình ['has_many: through'] (http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association). – Grantovich