让我在Rails的墙上撞到我的头的一件事是它将单个属性保存回模型的不洁方法。或者至少,我对它的理解。
据我所知,最接近的方法是update_attribute(现已弃用?)。但是,它有一个主要缺点。它会对所有模型字段执行更新。
如果我弄错了,请说明以干净的方式做这件事的最佳方法。如果我是正确的,我真的不明白,为什么在单一属性上没有干净的方法呢?
答案 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语句)。