我正致力于一个允许用户提交和投票变更的项目。但是我希望保留原版的版本,以便用户可以查看它并查看原始版本和已投票的内容之间的差异。我想知道什么是最好的方法呢?
我最初想的是创建配方两次,并将另一个中的一个ID引用为原始配方,但想知道是否有更有效的方法来执行此操作。
答案 0 :(得分:1)
我认为有很多方法可以做到: -
使用两个表,第一个表将存储创建的每个配方,其他表将在使用has many through
模型创建每个新配方后存储该用户的最后一个配方ID(user.recipes.last)。例如: -
用户has_many:recipe_copies,:dependent => :破坏 user has_many:recipe through :: recipe_copies
因此,对于recipes
表格中的每条新记录,您可以使用recipes_copy
和{user.recipes.last.id
表格中的添加 新行 {1}} id并将其存储在副本表中。
,例如
New recipe
希望有所帮助