Object.update_attribute(:only_one_field, "Some Value")
Object.update_attributes(:field1 => "value", :field2 => "value2", :field3 => "value3")
Оба из них будут обновлять объект без необходимости явно указывать AR для обновления.
API Rails говорит:
для update_attribute
Обновляет один атрибут и сохраняет запись без прохождения обычной процедуры проверки достоверности. Это особенно полезно для булевых флагов в существующих записях. Обычный метод update_attribute в Base заменяется на это, когда модуль валидации смешан, в котором он по умолчанию.
для update_attributes
Обновляет все атрибуты из переданного хэша и сохраняет запись. Если объект недействителен, сохранение завершится неудачно и будет возвращено значение false.
Итак, если я не хочу, чтобы объект был проверен, я должен использовать update_attribute. Что делать, если у меня есть это обновление на before_save, будет ли он stackoverflow?
Мой вопрос: update_attribute также обходит перед сохранением или просто проверку.
Кроме того, что такое правильный синтаксис для передачи хэша update_attributes... проверьте мой пример вверху.