Подтвердить что ты не робот

Можно ли пропустить проверки на update_attributes?

Это кажется глупой проблемой, но я не могу найти ответ нигде!

Возможно ли update_attributes() и пропустить проверки, например, в save(validate: false)?

У меня длинная форма с длинными полями text (not string), и я хотел бы предложить пользователю возможность сохранить их прогресс в форме. Обычно я хочу минимальные длины и т.д., Прежде чем они смогут его отправить и продолжить, но в случае, когда они просто нажимают "Сохранить", я хотел бы сделать любой прогресс, который они сделали в базы данных, чтобы они могли вернуться и закончить позже. Есть ли способ пропустить проверки в этом случае?

От взгляда вокруг, кажется, единственное, что я могу сделать, это перечислить каждое поле индивидуально так:

@obj.field1 = ...
@obj.field2 = ...
@obj.field3 = ...
...
@obj.save(:validate => false)

Это действительно так? В какой-то момент я буду беспокоиться о добавлении другого поля и забыть обновить контроллер здесь.

4b9b3361

Ответ 1

@obj.attributes = params[:obj]
@obj.save(false)

Обновление для Rails 3

@obj.attributes = params[:obj]
@obj.save(:validate => false)