mysql - Rails 4 数据库表

标签 mysql ruby-on-rails database-design

我必须存储不同类型供应商的详细信息,例如:酒店、餐馆、汽车旅馆等。我现在不确定供应商的类型。所有这些都在一定程度上具有不同的相关细节。

访问它们的方式是相同的。我打算做的是有一个 url 参数,类似于: 本地主机:3000/供应商/酒店/1 本地主机:3000/vendors/restaurants/3

我很困惑是使用单个表还是使用 4 个不同的表: 供应商(引用上述所有类型)。 酒店(供应商的外键) 餐厅(供应商的外键) 汽车旅馆(供应商的外键)

如果我在 4 个不同的表中执行此操作,那么我将在每个 Controller 操作以及与其关联的每个 View 中检查它的供应商类型。

我应该将其分成四个不同的表还是将所有内容保留在一张表中。或者还有其他有效的方法吗?

最佳答案

我会推荐一个Vendor 表和一个VendorType 表。然后在你的路由中可以将vendor_type传入url:

get "/vendor/:vendor_type/:id", to: "vendor#show"

关于mysql - Rails 4 数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27593085/

相关文章:

mysql - SQL查询仅在字段等于值的情况下选择最高ID

ruby-on-rails - 使用元编程为多个工作人员编写单个规范

php - 保存数据库连接详细信息

ruby-on-rails - 如何设置MiniTest?

javascript - Slim 中的 onclick 事件不起作用 - 将 ' 转换为 &#x27

mysql - 索引的 DO 和 DONT

mysql - 如何使用关系代数从数据库中获取冗余一致(重复)数据?

sql - 为具有多种数据的模型设计数据库模式

php - 使用 jquery 验证插件查找重复的电子邮件

mysql - Python3 奇怪的字符和 utf-8 无法删除它