игнорировать before_update при сохранении - PullRequest
2 голосов
/ 22 октября 2010

В некоторых случаях я не хочу выполнять before_update.Помогите мне, пожалуйста.

вариант A: в случае, если я хочу использовать before_update

obj = Object.find(id)
obj.save

, но случай BI не использовать до

Ответы [ 2 ]

3 голосов
/ 22 октября 2010

Метод #save принимает хэш опции.Чтобы пропустить проверки:

obj.save(:validate => false)

Это документированный способ пропустить проверки с использованием общедоступного API.Не пытайтесь использовать внутренние методы send для вызова, иначе ваше приложение может не работать в будущем.

0 голосов
/ 22 октября 2010

update_without_callbacks и create_without_callbacks являются закрытыми методами.Эти методы не будут вызывать никаких обратных вызовов.

obj = Object.find(id)
obj.send(:update_without_callbacks)

obj = Object.new(:name => 'foo')
obj.send(:create_without_callbacks)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...