检查模型是不是在 before_save 事件中被修改或创建

Posted

技术标签:

【中文标题】检查模型是不是在 before_save 事件中被修改或创建【英文标题】:Check if a model was modified or created on before_save event检查模型是否在 before_save 事件中被修改或创建 【发布时间】:2011-12-26 19:08:02 【问题描述】:

我想检查是否在 Rails 的 before_save 回调中创建了模型。 我还想检查它是否已被修改(更新时)。

谢谢

【问题讨论】:

【参考方案1】:

您可以使用new_record? 查看是否有一个全新的对象,使用changed? 查看是否有任何变化:

before_save :pancakes

def pancakes
  if new_record?
    # Not in the database yet.
  elsif changed?
    # Already exists but it has unsaved changes.
  end
end

【讨论】:

以上是关于检查模型是不是在 before_save 事件中被修改或创建的主要内容,如果未能解决你的问题,请参考以下文章

Rails Rspec / Factory Bot没有调用模型before_save回调

before_save,剥离一个字符串

Rails :before_save 大写私有方法

Rails:before_save - 堆栈级别太深

如何检查成员是不是可以在 discord.js v12 中被踢/禁止?

检查实体是不是在外部表中被引用并获取实体