Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >跟踪对模型的更改并将结果保存到另一个模型

跟踪对模型的更改并将结果保存到另一个模型
EN

Stack Overflow用户
提问于 2014-01-17 13:12:28
回答 1查看 2.3K关注 0票数 2

我在Rails 3.2应用程序中。我希望当管理用户通过CRUD (通过标准Rails支架方式对update_attributes调用进行更改)时,将名为候选人的特定字段保存到更新模型中。

我在一个跟踪before_save过滤器中的变化的候选模型中有代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
before_save :check_changed
def check_changed
  period_contributions_changed?
end

这是在candidate.rb中,候选模型文件。

我想要的是period_contributions和其他指定字段中更改的值,以触发另一个记录更新的创建。

更新将包含候选ID、更改字段的名称、前一个值和新值。

这似乎需要在Update控制器上调用一个方法的模型代码,这似乎是错误的做法。这样做有什么最佳做法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-17 14:22:09

ActiveRecord提供了一些可以使用的方法。

  1. changed? ->告诉您对象已被更改。
  2. changed ->提供了一个更改的属性数组。
  3. changed_attributes ->为您提供了一个哈希,其中键作为已更改的属性值,值作为旧值。 before_save :log_changed def log_changed if self.changed?self.changed.each do x attr\ Update.create(:candidate_id => self.id,:field => attr,:new_value => self.attributesattr,:old_value => self.changed_attributesattr)末端
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21195975

复制
相关文章
向量数据库入坑指南:初识 Faiss,如何将数据转换为向量(一)
我们日常使用的各种 APP 中的许多功能,都离不开相似度检索技术。比如一个接一个的新闻和视频推荐、各种常见的对话机器人、保护我们日常账号安全的风控系统、能够用哼唱来找到歌曲的听歌识曲,甚至就连外卖配送的最佳路线选择也都有着它的身影。
Zilliz RDS
2022/11/07
8.8K0
Python列表长度
确定列表长度 # 定义一个汽车品牌数组 cars = ['bmw', 'audi', 'benz'] # 输出列表长度 print('列表长度是:') print(len(cars)) 输出 列表长度是: 3
py3study
2020/01/10
1.4K0
如何将Pandas数据转换为Excel文件
将数据导出到Excel文件通常是任何用户阅读和解释一组数据的最优先和最方便的方式。通过使用Pandas库,可以用Python代码将你的网络搜刮或其他收集的数据导出到Excel文件中,而且步骤非常简单。
玖柒的小窝
2021/11/01
7.6K0
将列表分成指定长度的列表
在工作或参加面试过程中,经常遇到将一个列表,按指定长度分割成多个列表的问题。详细实现过程,看如下具体实例:
TalkPython
2019/05/24
2.9K0
不同列不同行的数据如何进行转置?
案例模拟文件下载 http://gofile.me/4KHV7/SUo5ywXxC
逍遥之
2020/03/24
2.9K0
不同列不同行的数据如何进行转置?
获取不同长度的UUID[通俗易懂]
在公司,有时候让处理一些命名规则时,要使用一个唯一标识,还是十六进制的,需要多少位看领导心情.
全栈程序员站长
2022/09/22
3.5K0
列表长度与索引
借助llength命令可获取列表的长度(列表所包含的元素的个数,不难发现很多跟列表相关的命令都是以英文单词l(其大写为L)开头的)。图1显示列表a的长度为3。
Lauren的FPGA
2019/10/30
1.5K0
如何将ownCloud转换为Nextcloud
ownCloud的核心开发团队中一部分人员启动了一个名为Nextcloud的项目。虽然ownCloud将继续开发,但您可能想了解新项目的功能。Nextcloud和ownCloud共享一个公共代码库,这意味着将现有的ownCloud安装迁移到Nextcloud中。
小铁匠米兰的v
2018/08/02
2.6K0
【转】URL最大长度问题
今天在测试Email Ticket的时候发现在进行Mark as Read/Unread操作时,请求是通过GET方式进行的。URL中列出了所有参与该操作的Ticket Id。于是,我想起GET请求是有最大长度限制的。遂输入超长一串Ticket Id进行请求,结果页面报错如下:
ZhangXianSheng
2019/07/02
2.7K0
如何将Array转换为List?
可以使用 Arrays.asList() 方法, 该方法接受一个数组作为输入,并返回一个列表作为输出。
程序你好
2018/07/23
1.4K0
python如何将一个多位数数值转换为列表类型
现在:a = 10,由于暂时没找到更好的方法,且使用下面的方法进行转换。 目标:转化为['10'] 以下为错误尝试: 1.直接转换,提示整型对象不可迭代。 2.先转换为字符串,再转换为列表,发现被分成
逆向小白
2018/09/12
1.8K0
python如何将一个多位数数值转换为列表类型
如何将文字转换为对应的PathGeometry
其实我们可以使用FormattedText的BuildGeometry将字符串转成对应的Geometry
黄腾霄
2020/06/10
1.6K0
Python 元组转换为列表
结论:当给定一个可迭代对象(如列表、元组、集合、范围等)时,list() 和 tuple() 返回一个新的列表和元组
Python学习者
2023/07/17
2780
策略模式:处理不同策略具有不同参数的情况
策略模式确实在处理不同策略需要不同参数的情况下会显得有些复杂。然而,这并不意味着策略模式不能在这种情况下使用。有几种可能的解决方案:
运维开发王义杰
2023/08/16
6700
策略模式:处理不同策略具有不同参数的情况
java如何将String转换为enum
已知枚举对应的String值,希望得到对应的枚举值。例如,已知"A",希望得到对应的枚举——Blah.A,应该怎么做? Enum.valueOf()是否能实现以上目的,如果是,那我如何使用?
硬核编程
2020/07/23
3.9K0
向量数据库的四大优势
其一,高效的向量查询:传统的关系型数据库查询主要是基于条件和逻辑运算,而向量数据库的查询是基于向量相似性的匹配。通过使用向量相似度算法,向量数据库能够更快地查询与某个向量最相似的数据;其二,良好的扩展性:向量数据库通常能够支持大规模向量数据的存储和查询,而且可以轻松地通过添加更多的节点来扩展系统的性能;
LCHub低代码社区
2023/06/21
8330
向量数据库的四大优势
如何将Altium画的PCB转换为Allegro
PCB(Printed-Circuit Board)设计软件种类有很多种,但是最常用的是Altium Designer、mentor pads、cadence allegro这三个软件,既然是常用的,那就可能会遇到相互转换的时候,下面为具体步骤:
用户10191012
2022/11/18
2.3K0
如何将Altium画的PCB转换为Allegro
如何将视频轻松转换为 GIF
有时看到一条有意思的视频想发到朋友圈,但朋友圈有限制时长,而且也不方便,这时可以把视频转GIF(再做成表情包也可以),再发到朋友圈或者微博(不用像视频一样需要等待审核)。
苏生不惑
2020/02/26
1.8K0
如何将pdf转换为word 2.0
再次以《新冠肺炎诊疗方案(试行第七版)》为例,该文件为图片性pdf,文字不可复制。
生信菜鸟团
2020/06/04
2.6K0
点击加载更多

相似问题

我可以从命令行向github添加问题吗?

64

可以从命令行传递关键字参数吗?

10

如何从命令行向Makefile传递参数?

51

从命令行向Java类传递参数

10

如何从命令行向gradle传递参数

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文