Rails有一个CLEAN更新属性方法吗?

时间:2011-04-25 05:03:06

标签: ruby-on-rails

让我在Rails的墙上撞到我的头的一件事是它将单个属性保存回模型的不洁方法。或者至少,我对它的理解。

据我所知,最接近的方法是update_attribute(现已弃用?)。但是,它有一个主要缺点。它会对所有模型字段执行更新。

如果我弄错了,请说明以干净的方式做这件事的最佳方法。如果我是正确的,我真的不明白,为什么在单一属性上没有干净的方法呢?

1 个答案:

答案 0 :(得分:2)

我刚测试了这个:

代码:

Order.update(1, :description => 'fff')

SQL执行:

UPDATE `orders` SET `updated_at` = '2011-04-25 05:23:29', `description` = 'fff' WHERE `orders`.`id` = 1

是的,Rails update几乎你需要的东西。 (除了它还更新updated_at)

提示:在IRB中,您可以执行ActiveRecord::Base.logger = Logger.new(STDOUT)以查看Rails的日志输出(包括SQL语句)。