gpt4 book ai didi

ruby-on-rails - ruby rails : updated_at - set as 0 on creation

转载 作者:行者123 更新时间:2023-12-02 06:43:21 25 4
gpt4 key购买 nike

当我在 query 表上创建新记录时,我希望 updated_at(时间戳)为 '0000-00-00 00:00:00' - 而不是Ruby on Rails 默认设置的当前时间戳。

MySQL字段:

`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP

但是,Ruby on Rails 生成此 sql 查询:

INSERT INTO `queries` (`updated_at`) VALUES ('2011-01-04 17:40:15')

我该如何解决这个问题?

最佳答案

Rails 将 updated_at 设置为当前时间,因为那是记录最近更新的时间。它将更新视为一种创造。如果您想检查某些内容是否已更新,请检查其 updated_atcreated_at 是否相同。

否则,您应该能够通过在插入时强制属性来更改插入的值。

Post.new(@params.merge({:updated_at => DateTime::new})

或者,在模型的 before_create 方法中,设置 self.updated_at = DateTime::new

关于ruby-on-rails - ruby rails : updated_at - set as 0 on creation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4596675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com