[英]How to model a user that can be a host, customer, or both? Rails
我正在尝试将诸如airbnb之类的内容作为辅助项目进行重建,并且我想知道如何对可以是Host
或Customer
或两者的User
实体进行建模。 一个人怎么表示呢?
多态性的问题在于, User
只能是Host
或Customer
而不能同时是两者。
通过两个一对一的关系来做到这一点的最好方法是吗?
我要解决此问题的方法是采用三种模型: User
, Rental
,(房屋出租)和RentalBooking
(用户进行的预订)
一个User
有许多Rental
,并且Rental
“主机”将由拥有该Rental
(租赁user_id)确定。 RentalBooking
将具有一个rental_id
和一个user_id
(用户ID为客户)。
就个人而言,我不必让用户担任Host
或Customer
的角色,但是此信息可以轻松地在每个预订或租赁帖子中显示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.