首页 > 解决方案 > 在rails中使用`.changed?`时忽略一列

问题描述

我想使用该.changed?方法检查记录是否已更改。问题是其中一个字段总是不同的。我想忽略这个领域。就像是:

record.changed?.except(:field_to_ignore)

我该如何解决这个问题?

标签: ruby-on-railsrubyactiverecord

解决方案


ActiveModel::Dirty为您提供通过该changed方法更改的所有属性的列表。所以你可以做类似的事情

record.changed.reject { |attr| attr == 'field_to_ignore' }.size > 0

在此处阅读有关changed方法的更多信息


推荐阅读