Разница между update_attributes и установкой в ​​ноль напрямую - PullRequest
1 голос
/ 30 августа 2011

Есть ли разница между следующими двумя фрагментами для данного класса?

class MyObjectClass < ActiveRecord::Base
  belongs_to :address
end

# Snippet 1
my_obj.address = nil
my_obj.save

# Snippet 2
my_obj.update_attributes {address: nil}

Ответы [ 3 ]

4 голосов
/ 30 августа 2011

За кулисами они, по сути, делают то же самое, если вы говорите исключительно об установке поля адреса на ноль.

1 голос
/ 30 августа 2011

Между ними нет никакой разницы. Если бы вы использовали my_obj.update_attributes (params [: my_object]), то ответ Spikes будет правильным, так как вы работаете с массовым назначением, однако во фрагменте 2 вы обновляете только атрибут адреса, поэтому они идентичны.

0 голосов
/ 30 августа 2011
...