rails 监控多个表的改动

本文介绍如何使用PaperTrail gem监控Rails应用中的模型更改,并提供多表变更结果集合并的方法。通过实例代码展示了如何获取不同模型的版本记录并进行排序,以便于查看变更历史。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   如何监控model的改动,这里rails 提供了 paperTrail  gem,详情请查阅git  https://github.com/airblade/paper_trail#4b-associations

   这里我想说的是多个表的监控放入同一个dialog,这里也就涉及到了结果集合并的问题,上一篇已经提到

   具体代码

  

    @model_A = model_A.find_by_id(id) 
    
    @result_verions =@model_A.versions
    
    @result_verions =@model_A.model_b.nil?? @result_verions : (@result_verions + @model_A.model_b.versions) 
  
    @result_version =model_C.find_by_id(id).nil??@result_versions : @result_versions + model_C.find_by_id(id).verions
    

    @result_verions = @result_verions.sort_by{|version| version.created_at}   

 友情提示,@result_versions[0].changset  结果显示的是对应表中的column,请具体对应view中显示的内容,适当修改,提高用户体验度


 Eric

 oldlock1988@163.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值