Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ruby on rails引用的子模型、子类或子类_Ruby On Rails - Fatal编程技术网

Ruby on rails ruby on rails引用的子模型、子类或子类

Ruby on rails ruby on rails引用的子模型、子类或子类,ruby-on-rails,Ruby On Rails,我正忙着制作RubyonRails应用程序 我想制作一个包含文本模型、图片模型和链接模型的模型。每个模型都可以有注释,但我不想为文本、图片和链接模型创建不同的注释模型。有没有可能使一个媒体模型有一个子类(或者如何称呼它):图片模型、文本模型和链接模型。或者有没有其他干净的方法可以做到这一点。 谢谢你说得对。你可以有一个有很多评论的媒体模型。然后,您可以在图片、链接和文本模型中扩展媒体您可以创建具有以下内容的评论模型: 您可以向每个需要注释的模型添加上述行。为了具有多态关联,您需要在db的comm

我正忙着制作RubyonRails应用程序

我想制作一个包含文本模型、图片模型和链接模型的模型。每个模型都可以有注释,但我不想为文本、图片和链接模型创建不同的注释模型。有没有可能使一个媒体模型有一个子类(或者如何称呼它):图片模型、文本模型和链接模型。或者有没有其他干净的方法可以做到这一点。
谢谢

你说得对。你可以有一个有很多评论的媒体模型。然后,您可以在图片、链接和文本模型中扩展媒体

您可以创建具有以下内容的评论模型:

您可以向每个需要注释的模型添加上述行。为了具有多态关联,您需要在db的comments表中具有以下列:

commentable_id   - int
commentable_type - string

例如,您也可以使用一些插件进行评论。

是否可以为evert类型的媒体添加一个包含评论、文本注释、图片注释和链接注释的新数据库表。它们可以在迁移时生成,唯一的问题是如何调用这些数据库中的信息

是否可以删除数据库中的可注释类型(我不会使用@comment.text、@comment.picture、@comment.link)?@kaibakker:如果您有3种不同的文本、图片和链接模型,每个模型都有自己的id,那么您需要有
可注释类型
,因为您需要知道此注释属于哪个模型。如果以@Corrective proposed的方式进行操作,则只能有
注释\u id
,因此,对于从
媒体继承的3个模型,db中只能有一个表。
commentable_id   - int
commentable_type - string