ruby-on-rails – 在Rails上创建表时需要创建外键吗?

我现在开始使用Rails,我在论坛中查看,但我找不到任何可以解决我问题的方法.

在这里,我有一个分类表,它只有一个列的名称(类别中没有重复)所以我希望名称是主键,然后我有一个名称,main_photo,描述的产品表我想说一个产品只有一个类别,我是否需要在产品中添加一个名为category的列作为外键?

一个类别可以提供许多产品.

那么在类别模型中我怎么说名称是主键,我怎样才能在产品类别和类别中对应的主键名称之间进行对应?

解决方法

Active Record中的外键约束并不经常使用,因为Active Record背后的意识形态表示这种逻辑应属于模型而不属于数据库 – 数据库只是一个愚蠢的存储: http://guides.rubyonrails.org/migrations.html#active-record-and-referential-integrity.

Rails的方法是在所有表上都有一个ID列,包括Categories表,在Products表中,有一个名为Category_ID的列.请注意,表名是复数.

然后在您的模型中定义实体Product和Category之间的关系.阅读文章A Guide to Active Record Associations,它将回答您的所有问题,尤其是第2.1,2.2和3.3节.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...