【发布时间】:2017-01-31 05:59:16
【问题描述】:
在我为学习 Rails (RAILS 5) 而构建的应用程序中,我尝试实现以下最终结果:
我希望用户能够标记 PDF 的内容(附加到注释记录或文档记录)。在 PDF 附加到的注释或文档已按文档类型(例如 PO、交货单等)分类之后。添加标签时,标签与预定义的标签类型列表相关联(分别将文档的注释的文档类型与标签类型的文档类型匹配)。添加标签时,我想捕获标记的内容(例如订单号或订购者名称)和 PDF 中的坐标。
问题的第一部分
2个对象(类/模型)Annotation和Document与对象(类/模型)Tag是一对多的关系(类似于order to order_item):
has_many :tags, dependent: :destroy
模型Tag与模型TagType是一对一的关系:
belongs_to :annotation, :document
然而,一个标签记录只能属于一个注释/文档,并且需要在相应的注释/文档被删除时删除(我为此设置了dependent: :destroy)。
那么,Tag 与 TagType 使用哪种类型的关联? has_one? has_many? belongs_to_...?
问题的第二部分:
现在,当将标签添加到注释或文档时,标签将提取文本、坐标和需要分配给 TagType。但是,某些标签类型(用于注释或文档的文档类型)对于注释/文档只能使用一次 - 取决于 tag_type 字段“多次出现”是否为假。在关联中如何/在哪里设置(验证/过滤)?
以及如何根据标签(动态)减少列表?
欢迎所有建议/方向!
【问题讨论】:
-
你写声明的方式让它变得更复杂了
-
迪帕克是什么意思?哪种说法?
-
这个问题难以理解,令人困惑。你能不能试着用简单的方式来写
-
可能是某种代码风格,而不是说有一对一的关系
-
所以改写。是的会这样做。德克萨斯州。
标签: ruby-on-rails ruby-on-rails-5