代码之家  ›  专栏  ›  技术社区  ›  tsdbrown

Rails:如何将数据锁定到一个来自许多系统表的记录中?

  •  1
  • tsdbrown  · 技术社区  · 16 年前

    我目前正在构建一个基于保险的rails应用程序。有一个管理部分,工作人员可以在其中控制系统表,主要是下拉列表中显示的表,尽管有些表与自己的关联更为复杂。此应用程序中的主要模型是策略,这需要保存/链接到许多其他表中的信息,例如索赔人、被告、覆盖级别、用户等。每个表都可能有自己的关联,例如链接到一个人,而此人又链接到地址等。

    到目前为止,我所能想到的最好的方法是根据应用程序的需要收集上述不同的方法。这一定是应用程序中的一个普遍问题!?你对如何解决这类问题有什么更好的想法/建议吗?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Selva    16 年前

    对于模型的版本控制, vestal_versions (github.com/laserlemon/vestal\u版本)插件可能会有帮助。

        2
  •  1
  •   stellard    16 年前

    如果不确切了解应用程序的需求,就很难确定最佳解决方案是什么。

    您可以创建如下模型:

    class PolicyHistory< ActiveRecord::Base
       belongs_to :policy
    end
    
    class Policy < ActiveRecord::Base
    has_many :policy_histories
    end
    

    策略历史记录可以包含特定时刻的所有策略详细信息和关联数据的快照,甚至包括谁进行了更改。

    解决这个问题的方法可能是将完整的快照序列化为哈希。策略历史表将能够处理对相关表的任何更改。

    希望这对你有所帮助!