Ruby on rails 更新所有用户';通过计算DoB+;轨道&x2B;单一查询

Ruby on rails 更新所有用户';通过计算DoB+;轨道&x2B;单一查询,ruby-on-rails,Ruby On Rails,我有一个用户模型,其中包含字段名称、年龄(以年为单位)和出生日期(即出生日期)。我想通过计算dob和Date.today之间的差异来更新所有用户的年龄。我希望它在单个查询中完成,而不是更新每个用户 我尝试使用的代码是: User.update_all("age = ?", Date.today - :dob); #not working 我怎样才能修好它?我正在使用活动记录 -----更新 经过多次尝试,我成功地完成了它,因为它是纯mysql查询。如何通过ORM实现 User.update_a

我有一个用户模型,其中包含字段名称、年龄(以年为单位)和出生日期(即出生日期)。我想通过计算dob和Date.today之间的差异来更新所有用户的年龄。我希望它在单个查询中完成,而不是更新每个用户

我尝试使用的代码是:

User.update_all("age = ?", Date.today - :dob); #not working
我怎样才能修好它?我正在使用活动记录

-----更新

经过多次尝试,我成功地完成了它,因为它是纯mysql查询。如何通过ORM实现

User.update_all("age = floor(datediff(curdate(), dob) / 365.25);")

您使用的是哪个数据库适配器?可能是@Pavan的副本,我可以使用mysql查询来完成它,类似于您在评论中提供的链接中的答案。我想知道是否可以使用ActiveRecord完成。如果您找到了问题的答案,请将其作为答案而不是更新发布。这对每个人都有帮助。:)@Aravind我确实找到了答案,并将其发布在问题中,但不幸的是,它包含一些sql代码。我正在寻找不使用sql而使用RoR的解决方案。