Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 关于数据复制/标准化(建模)的一般问题_Ruby On Rails_Database_Model View Controller - Fatal编程技术网

Ruby on rails 关于数据复制/标准化(建模)的一般问题

Ruby on rails 关于数据复制/标准化(建模)的一般问题,ruby-on-rails,database,model-view-controller,Ruby On Rails,Database,Model View Controller,我有以下关系: Foo有一个条 条形码有许多条形码 Foo在酒吧里有很多Baz 现在我的问题是:我需要使用Foo.Baz,但是信息应该是冻结/静态的 我的意思是,每当Bar.Baz改变时,我不想Foo.Baz改变 本质上,Foo.Baz是在创建Foo时描述Baz的某种日志记录 我如何最好地处理这种情况 我的第一个倾向是在Foo和Baz之间创建另一个关系,但这会添加大量冗余数据,因为Bar.Baz只会偶尔更改 有更好的方法吗?您可以保持原样,然后根据时间戳创建一些作用域来获取Foo.Baz,并

我有以下关系:

  • Foo
    有一个
  • 条形码有许多条形码
  • Foo
    在酒吧里有很多
    Baz
现在我的问题是:我需要使用
Foo.Baz
,但是信息应该是冻结/静态的

我的意思是,每当
Bar.Baz
改变时,我不想
Foo.Baz
改变

本质上,
Foo.Baz
是在创建
Foo
时描述
Baz
的某种日志记录

我如何最好地处理这种情况

我的第一个倾向是在
Foo
Baz
之间创建另一个关系,但这会添加大量冗余数据,因为
Bar.Baz
只会偶尔更改


有更好的方法吗?

您可以保持原样,然后根据时间戳创建一些作用域来获取Foo.Baz,并且不允许更新Bar.Baz,只需创建。所以要得到Foo.Baz,你要得到最新的

Bar.Baz当Bar.Foo==Foo和Bar.Baz.created_在


我意识到这不是一个很好的解决方案,但它可能是一个起点…

Bas有很多Baz所有这些Foo都让我发痒,我更喜欢一个可以抓到的例子,比如猫/鼻子/胡须:)你是说“我的第一个倾向是在Foo和Baz之间建立另一种关系”那么,这是否意味着即使Bar.Baz发生更改,原始Baz仍将保持不变?如果删除或修改Baz会发生什么情况?额外的关系在这方面没有帮助。首先,您的模式设计可能有问题。