假设我有一个虚构的汽车租赁应用程序。
我有用户、汽车和地址。
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)
但我不知道如何用活动记录来指定。所以我的问题是:
- 这是正确的模式结构吗?
- 我怎样才能通过活动记录来实现呢?