最佳答案
这是一个简化的例子,说明了我正在努力实现的目标。我对 Rails 相对较新,正在努力理解模型之间的关系。
我有两种型号,User
型和 Category
型。用户可以与许多类别关联。对于许多用户,特定类别可以出现在类别列表中。如果删除了特定的类别,那么这应该反映在用户的类别列表中。
在这个例子中:
我的 Categories
表包含五个类别:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ID | Name | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 1 | Sports | | 2 | News | | 3 | Entertainment | | 4 | Technology | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我的 Users
表包含两个用户:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ID | Name | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 1 | UserA | | 2 | UserB | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
用户可以选择体育和技术作为他的类别
用户可以选择新闻,体育和娱乐
体育类别被删除,UserA 和 UserB 类别列表都反映了该删除
我曾经尝试过创建一个 UserCategories
表,其中包含类别和用户的 id。这种方法是有效的,我可以查找类别名称,但是我不能得到一个级联删除操作,整个解决方案似乎是错误的。
我发现的使用 properties _ to 和 has _ many 函数的示例似乎讨论了映射一对一关系。例如,在博客帖子上的评论。