【问题标题】:How to update an attribute without touch如何在不触摸的情况下更新属性
【发布时间】:2018-03-06 05:26:15
【问题描述】:

当我更新 mongoid 中的属性时,是否有不触及 updated_at 属性的选项?

类似于model.save(validate: false) 或者更好的是model.update_attribute(:attribute, 'value') 的东西?

【问题讨论】:

标签: ruby-on-rails ruby mongoid3


【解决方案1】:

我刚刚在这里找到了答案:https://github.com/mongoid/mongoid/blob/v3.1.7/lib/mongoid/timestamps/timeless.rb

如果有人有兴趣,您可以使用model.timeless跳过更新创建或更新日期,并使用model.clear_timeless_option重新激活它!

【讨论】:

    【解决方案2】:

    您可以使用update_column 方法:

    https://apidock.com/rails/v3.1.0/ActiveRecord/Persistence/update_column

    验证被跳过。

    回调被跳过。

    updated_at/updated_on 未更新。

    【讨论】:

    • update_column 适用于 ActiveRecord 但不适用于 MongoID
    猜你喜欢
    • 2023-03-20
    • 2013-03-30
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多