审查模型-在其他两个模型之间共享

亚瑟·科雷(ArthurCollé)

我正在制作一个应用程序,使人们可以列出要出售的食品。他们列出了菜式(菜式),当人们购买菜式时,将创建一个订单记录。

我希望人们能够在购买菜品时对其进行评论,并且还可以查看订单(该订单涉及与该人会面)。

我想知道是否可以创建如下的Review模型:

class Review < ActiveRecord::Base
    belongs_to :dish
    belongs_to :order
end

我觉得这是不对的。菜品的评论和订单的评论将具有不同的领域,并且可能具有完全不同的逻辑,但是在同一时间,其具有相同的“想法”,因此我认为最好为它创建一个模型。

以上正确吗?

谢谢

森里

这是设计单表继承(STI的用例当两个模型之间共享大多数值时,STI可以让您从另一个模型继承这两个值。例如:

class Review < ActiveRecord::Base; end

class DishReview < Review
  belongs_to :dish
end

class OrderReview < Review
  belongs_to :order
end

然后,您将审阅类型存储在新type列中,并且ActiveRecord处理将它们都存储在同一reviews表中。评论表将需要菜肴和订单的外键。

如果这些评论类型可能差异很大...说您想在菜式评论中添加辣味和甜味等,并在订单评论中添加速度和友善性等,那么从单独的表格开始会更有意义,一个用于DishReview,另一个用于OrderReview。然后,您可以使用模块,服务,关注点等在它们之间共享逻辑。您也可以将常用数据存储在Review表中,并与DishReview和OrderReview一对一链接。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

包含来自其他两个模型的数据的 DetailView

如何在SwiftUI中的两个视图模型之间共享发布的模型?

相关模型可以是其他两个模型之一

需要快速更新Django模型,并区别其他两个模型

在其他类别之间共享两个实例

一个载波上传器在ActiveAdmin中的两个模型之间共享

如何验证必须相对于Laravel 51中的模型在其他两个日期之内的日期数组

两个视图模型之间的通信

两个模型之间的关联

两个模型之间的Django关系

在两个Rails应用程序之间共享通用模型

在两个微服务之间共享域模型的最佳实践

nav_graph中两个片段之间的共享视图模型

为要在两个应用程序之间共享的模型创建宝石

在没有关系的两个或多个模型之间共享表 - 实体框架

审查模型缺少“ poster_file_name”所需的attr_accessor

有没有办法管理具有多个要审查的模型的子域?

需要审查调度模型逻辑、约束创建建议和语法错误修复

如何在 Laravel 中将 hasOne 用于其他两个细节模型

如何通过在其他模型字段之间执行方程来设置模型字段的值

在同一项目中的两个应用程序之间共享Django用户模型

在其他模型中导入模型方法

获取两个模型之间的related_name

Rails 4-两个模型之间的关联

Laravel – 加载两个模型之间的枢轴信息

AngularJS-在两个模型之间分配逻辑

两个模型之间的关联不起作用

两个模型之间有不同的关联Rails

在两个“模型”页面或“剃刀”页面之间传递ID