ruby-on-rails - 在rails中使用`.changed?`时忽略一列
问题描述
我想使用该.changed?
方法检查记录是否已更改。问题是其中一个字段总是不同的。我想忽略这个领域。就像是:
record.changed?.except(:field_to_ignore)
我该如何解决这个问题?
解决方案
ActiveModel::Dirty
为您提供通过该changed
方法更改的所有属性的列表。所以你可以做类似的事情
record.changed.reject { |attr| attr == 'field_to_ignore' }.size > 0
在此处阅读有关changed
方法的更多信息
推荐阅读
- laravel-5 - 构建这个的最好的 Laravel Eloquent 方法是什么
- swift - 使用约束以编程方式创建 UILabel?
- python - 杀死给定进程的次要任务
- excel - 错误 1004 “应用程序定义或对象定义错误”
- java - 如何让时间线不再粘在一起?
- git - 如何在 git bash vim 编辑器本身上打开特定文件以在错误消息“e325-attention-swap-file-already-present-error-in-vi”时编辑内容
- javascript - 正则表达式中的多个条件 - 如何用破折号替换冒号和空格
- javascript - JavaScript 中的所有事件侦听器如何保持活动或活动状态?
- ios - 如何仅更改字典键?无需快速更改值
- compiler-errors - 为什么在编译时出现“无法将 't₂' 与 'f32' 类型统一”,我该如何解决?