假设我有一个虚构的汽车租赁应用程序。
我有用户、汽车和地址。
user (id, name, email)
has_many :addresses
has_many :cars
car (id, name)
belongs_to :user
address (id, name, user_id)
belongs_to :user
每个用户都有多个地址和汽车。地址是用户可以借车的位置。
现在,使用这个模型,我想做以下事情(假设用户 #1 有 2 个地址和 3 辆车):
Settings for User #1 :
(specify at which address each of your cars are available)
/-------------------------------------------\
| | Car #1 | Car #2 | Car #3 |
|-----------+----------+---------+----------|
| Address 1 | yes | yes | no |
|-----------+----------+---------+----------|
| Address 2 | no | no | yes |
\-------------------------------------------/
我认为要实现这一点,您可以创建一个表cars_addresses
(id、car_id、address_id、available:bool)
但我不知道如何用活动记录来指定。所以我的问题是:
- 这是正确的模式结构吗?
- 我怎样才能通过活动记录来实现呢?