-1

我不确定描述这个问题的最佳方式是什么(这就是为什么我自己找不到答案的原因),但我想做的是:

我有一个模型“立法机关”,每个用户都可以创建它。

每个立法机关都有几个“委员会”。但是,每个立法机构的委员会列表必须相同,并且每个立法机构都有自己的一组带有预设变量的列。

所以我有:

委员会 A 委员会 B 委员会 C

每个都有它自己的预先确定的领域。每个版本的“立法机构”也将有 A 委员会、B 委员会、C 委员会。随着时间的推移,每个立法机构的活动将决定委员会的领域如何变化,但当然,一个立法机构中的 A 委员会最终可能看起来不同比另一个委员会的 A。

我该如何设置?或者,如果我正在做的事情有一个术语可以用来搜索解决方案,那我也可以!

4

1 回答 1

0

可以使用三种 Rails 工具:关联、回调和范围。

关联:您可以创建一个Legislature对象和多个Committee对象,并利用has_manybelongs_to关联来引用这些关系。见https://guides.rubyonrails.org/association_basics.html

回调:您可以要求在对象生命周期的不同点执行某些操作;这将允许Committee在创建Legislature. 请参阅https://guides.rubyonrails.org/active_record_callbacks.html

Validations:通过配对uniqueness验证,可以确保单个Legislature没有具有Committee相同特征的对象(例如name);使用该scope选项,您可以进一步允许多个Committee对象具有相同的功能,前提是它们各自belong_to具有不同的Legislature. 见https://guides.rubyonrails.org/active_record_validations.html#uniqueness

最后,这个 StackOverflow 问题也可能是相关的:Validate uniqueness of in association

于 2020-09-01T05:00:09.120 回答