je suis entré dans rails console
de ma demande et effectuer les déclarations suivantes:mises à jour update_attribute une seule fois
order = Order.find(2)
order.update_attribute(:start_at, Time.new)
ActiveRecord composé suivant l'instruction SQL:
UPDATE orders
SET
start_at = '2000-01-01 14:23:00',
updated_at = '2014-07-16 10:30:59'
WHERE
orders.id = 2
Maintenant, j'execute la même méthode update_attribute
à nouveau avec les mêmes paramètres et à nouveau et obtenir
UPDATE orders SET updated_at = '2014-07-16 10:33:52' WHERE orders.id = 2
UPDATE orders SET updated_at = '2014-07-16 10:34:11' WHERE orders.id = 2
UPDATE orders SET updated_at = '2014-07-16 10:37:19' WHERE orders.id = 2
Rien n'est mis à jour sauf champ updated_at
!
Y at-il des rappels sur votre modèle 'Order'? – xlembouras
ne se produit pas dans ma console ... bien que j'utilise Rails 4, pourrait être un bug. –
Vous n'avez pas posé de question? FYI: pour ce genre de mise à jour, vous pouvez utiliser 'touch' à la place:' order.touch (: start_at) '. – pdobb