【发布时间】:2025-12-02 00:25:01
【问题描述】:
我正在开发 Rails 3.0.x 应用程序(实际上是 Hobo 1.3.x,但这对这个问题并不重要)。在模型中,有 GraphPanes、GraphLabels 和 LabelSets。 GraphPane 可以有 GraphLabels 和 LabelSet。 GraphLabels 可以属于 GraphPanes 或 LabelSet,但不能同时属于两者。因此,如果 GraphLabel 属于 LabelSet,我希望避免将其关联到 GraphPane。
我正在尝试在 GraphPane 模型中使用此代码来强制执行:
has_many :graph_labels, :conditions => 'label_set_id = NULL'
但是,我仍然可以将 GraphLabels 与非空 label_set_id 与 GraphPanes 相关联。为什么?我怎样才能阻止这种情况?
This question 表面上相似,但我的关系不是多态的,所以那里的名义解决方案对我没有帮助。
【问题讨论】:
-
顺便说一句,pjmorse,我正在调查您的组织 Concord Consortium,发现您与我最好朋友的父亲 Andrew Zucker 一起工作。小世界!
标签: ruby-on-rails-3 activerecord has-many hobo