Вопрос по validation, ruby-on-rails-3, ruby-on-rails, activerecord – Каков порядок обратных вызовов и проверок ActiveRecord?

47

Мне было интересно, в каком порядке вызываются обратные вызовы и проверки при создании объекта ActiveRecord.

Допустим, у меня есть несколько пользовательских проверок & amp; обратные вызовы, подобные следующему:

validates :reference_code, :if => :reference_code, :on => :create
before_create :assign_reference

какой из них будет первым? Сначала должен произойти обратный вызов, иначе проверка может завершиться неудачей.

Ваш Ответ

1   ответ
115

айти вActiveRecord::Callbacks documentation, Списки для Rails 4, 3 & amp; 2 ниже.

Rails 4

Самую последнюю версию этого списка можно найти вРельсы 4 направляющие.

Creating an object before_validation after_validation before_save around_save before_create around_create after_create after_save after_commit/after_rollback Updating an object before_validation after_validation before_save around_save before_update around_update after_update after_save after_commit/after_rollback Destroying an object before_destroy around_destroy after_destroy after_commit/after_rollback Rails 3

Самую последнюю версию этого списка можно найти вНаправляющие 3 направляющих.

Creating an object before_validation after_validation before_save around_save before_create around_create after_create after_save Updating an object before_validation after_validation before_save around_save before_update around_update after_update after_save Destroying an object before_destroy around_destroy after_destroy Rails 2

Самую последнюю версию этого списка можно найти вРельсы 2.3 Направляющие

Creating an object before_validation before_validation_on_create after_validation after_validation_on_create before_save before_create INSERT operation after_create after_save Updating an object before_validation before_validation_on_update after_validation after_validation_on_update before_save before_update UPDATE operation after_update after_save Destroying an object before_destroy DELETE operation after_destroy

Так как вам нужно сначала подтвердитьreference_code,assign_reference метод может быть вызван вafter_validation обратный вызов или любой обратный вызов после него в списке, который я предоставил выше.

Похожие вопросы