Đối với ứng dụng CRM, tôi muốn có thể liên kết trực tiếp Mô hình người với mô hình Tài khoản hoặc với mô hình Công ty. Ngoài ra, tôi muốn liên kết một mô hình Địa chỉ với một Công ty hoặc một Người. Đây là những gì tôi có trong tâm trí:Mô hình đường ray thuộc về một mô hình hoặc một mô hình khác hoặc
class Account
has_many :Persons
has_many :Companies
end
class Person
belongs_to :Account
belongs_to :Company
has_one :Address
end
class Company
belongs_to :Account
has_many :Persons
has_one :Address
end
class Address
belongs_to :Person
belongs_to :Company
end
Vì vậy, Tài khoản sẽ là "tài khoản người" hoặc "tài khoản doanh nghiệp" tùy thuộc vào liên kết. Họ sẽ loại trừ lẫn nhau. Tôi có kế hoạch để có các khóa ngoài account_id và company_id trong bảng Person. Theo cùng một mã thông báo, tôi sẽ có các khóa ngoài person_id và company_id trong bảng Address. Một khóa ngoại sẽ là null trong mỗi trường hợp.
Điều này có ổn trong Rails không? Nếu không, mọi khuyến nghị sẽ được đánh giá cao.
bạn có thể sử dụng mô hình xác nhận để đảm bảo rằng chỉ có một loại hiệp hội tồn tại. Không chắc chắn câu trả lời hình ảnh lớn hơn là gì ... – jaydel