【发布时间】:2011-08-17 00:27:01
【问题描述】:
我有以下关系:
- Foo
has_one酒吧 - 酒吧
has_many巴兹 - Foo
has_manyBaz through Bar
现在我的问题是:我需要使用Foo.Baz,但信息应该是冻结/静态的。
我的意思是,每当Bar.Baz 更改时,我不希望Foo.Baz 更改。
本质上,Foo.Baz 是在创建Foo 时描述Baz 的某种日志记录。
如何最好地处理这种情况?
我的第一个倾向是在Foo 和Baz 之间创建另一个关系,但这会增加很多冗余数据,因为Bar.Baz 只会偶尔更改。
有没有更好的办法?
【问题讨论】:
-
Bas has_many Baz
-
所有这些 Foo 都让我发痒,我更喜欢像 Cat/Nose/Whiskers 这样易于掌握的示例 :)
-
您是说“我的第一个倾向是在 Foo 和 Baz 之间建立另一种关系”,这是否意味着即使 Bar.bazs 发生变化,原始 Baz 也不会受到影响?
-
如果删除或修改 Baz 会发生什么?额外的关系在那里无济于事。一开始您的架构设计可能有问题。
标签: ruby-on-rails database model-view-controller