如何为可以是主机,客户或两者的用户建模?滑轨

时间:2018-07-19 17:44:31

标签: ruby-on-rails

我正在尝试将诸如airbnb之类的内容作为辅助项目进行重建,并且我想知道如何为UserHost或两者都可以建模的Customer实体建模。一个人怎么表示呢?

多态性的问题在于,User只能是HostCustomer之一,而不能两者都不能。

通过两个一对一的关系来做到这一点的最好方法吗?

1 个答案:

答案 0 :(得分:0)

我要解决此问题的方法是采用三个模型:UserRental,(房屋出租)和RentalBooking(用户进行预订)

一个User有许多Rental,并且Rental“主机”将由拥有Rental的人(出租用户ID)确定。 RentalBooking将有一个rental_id和一个user_id(用户ID为客户)。

就我个人而言,我不必让用户扮演HostCustomer的角色,但是此信息很容易在每个预订或租赁帖子中显示。