加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 可以属于多个其他对象的对象的模型设计?

发布时间:2020-12-17 03:02:12 所属栏目:百科 来源:网络整理
导读:我希望用3种类型的对象构建一个简单的应用程序: 文章(RoR的第一天,为什么PHP仍然很棒,RoR与PHP相比) 作者(Bob,Steve,Jen) 标签(RoR,PHP) 作者撰写文章,并制作适当的标签. 所以: author has many articles; article belongs to author 但标签怎么样?我希望
我希望用3种类型的对象构建一个简单的应用程序:

>文章(RoR的第一天,为什么PHP仍然很棒,RoR与PHP相比)
>作者(Bob,Steve,Jen)
>标签(RoR,PHP)

作者撰写文章,并制作适当的标签.

所以:

author has many articles; article belongs to author

但标签怎么样?我希望文章和作者都有标签.

我可以想象:

author has many tags; article has many tags

但是标签模型上的声明怎么样?

tag belongs to authors; tag belongs to articles

这两个人是否会相互干涉?

我担心的是标签需要作者和文章父母.并且在它具有两种类型的父项的情况下,由于数据库中的外键约束,删除一个将删除标记和另一个父项.

提前致谢!

解决方法

您正在寻找 polymorphyc associations:

class Tag < ActiveRecord::Base
  belongs_to :taggable,:polymorphic => true
end

class Author < ActiveRecord::Base
  has_many :tags,:as => :taggable
end

class Article < ActiveRecord::Base
  has_many :tags,:as => :taggable
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读