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

я есть некоторые модели, которые имеют обратные вызовы after_save. Обычно это нормально, но в некоторых ситуациях, например, при создании данных разработки, я хочу сохранить модели без запуска обратных вызовов. Есть ли простой способ сделать это? Что-то похожее на ...

Person#save( :run_callbacks => false )

или же

Person#save_without_callbacks

Я посмотрел в документации по Rails и ничего не нашел. Однако, по моему опыту, документы Rails не всегда рассказывают всю историю.

ОБНОВИТЬ

я нашелсообщение в блоге это объясняет, как вы можете удалить обратные вызовы из модели следующим образом:

Foo.after_save.clear

Я не мог найти, где этот метод задокументирован, но, похоже, он работает.

Ответы на вопрос(25)

Ваш ответ на вопрос