Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何使ActiveRecord始终更新字段?_Mysql_Ruby On Rails_Ruby_Activerecord - Fatal编程技术网

Mysql 如何使ActiveRecord始终更新字段?

Mysql 如何使ActiveRecord始终更新字段?,mysql,ruby-on-rails,ruby,activerecord,Mysql,Ruby On Rails,Ruby,Activerecord,使用ActiveRecord时,如果要更新记录,则只会将已更改的字段添加到查询中。我需要一种方法来告诉它总是在我的查询中添加一个特定的字段,即使Rails认为它没有改变。在我的示例中,我总是希望在保存记录时将字段设置为U。该字段的名称为DELETE_FLAG。因此,我想在每次发送到MySQL的更新查询中看到DELETE_FLAG=U 我已尝试删除\u标志\u将\u更改!在模型中,但这似乎没有起到任何作用,也许是因为我把它放错了位置 我也见过触摸法,但这不行。我不想以后再更新记录 这看起来很基本,

使用ActiveRecord时,如果要更新记录,则只会将已更改的字段添加到查询中。我需要一种方法来告诉它总是在我的查询中添加一个特定的字段,即使Rails认为它没有改变。在我的示例中,我总是希望在保存记录时将字段设置为U。该字段的名称为DELETE_FLAG。因此,我想在每次发送到MySQL的更新查询中看到DELETE_FLAG=U

我已尝试删除\u标志\u将\u更改!在模型中,但这似乎没有起到任何作用,也许是因为我把它放错了位置

我也见过触摸法,但这不行。我不想以后再更新记录


这看起来很基本,我肯定我忽略了这里的一些东西。任何帮助都将不胜感激。谢谢

即使更新之前数据库中的值已经正确?你希望完成什么?我想回应为什么的问题。如果不知道您为什么要更新通常不需要更新的内容,我们就无法提供最佳的更新方式。通常,为什么意味着我们不知道:。原因是因为我们有一个运行的计划集成,它可以自行更改此字段。我需要确保activerecord的每次保存都会将此标志放回需要的位置。老实说,我不知道这是否能解决问题,但我的老板让我这么做,看起来应该这么简单。我只是想做一些调试,真的。我每次只需要将此字段添加到查询中。谢谢如果这是一个刚刚加载的模型,那么这样做不会有任何影响。在保存之前使用+或类似的方法将值设置为需要的值,可能会更好。