Gem Я использую вставки обратный вызов after_save, который я хотел бы удалить. Мне кажется, было бы проще удалить символ из массива, чем исправить проблему с помощью monkeypatch. Как я могу получить доступ к массиву обратных вызовов?Как удалить обратные вызовы, вставленные кодом поставщика?
ответ
class UserSession < Authlogic::Session::Base
# Don't use cookie AuthLogic behaviour
skip_callback :persist, :persist_by_cookie
skip_callback :after_save, :save_cookie
skip_callback :after_destroy, :destroy_cookie
end
after_save
массив доступен через Model.after_save
, это массив объектов ActiveSupport::Callbacks::Callback
. Вы можете запустить это изнутри модели
self.after_save.delete_if{|callback| callback.method == :do_something_callback}
выглядит хорошо ... но где/когда бы мне это делать? В пределах определения класса? –
Я бы так сказал, с вашими другими обратными вызовами. Пока он загружается после вашего плагина, тогда должно быть хорошо идти. –
Если вам интересно, вот решение, в котором я столкнулся, для моей конкретной проблемы: http://stackoverflow.com/questions/3162867/how-can-i-get-authlogic-to-use-the-rails-session -instead-of-its-own-cookie –
- 1. Обратные обратные вызовы
- 2. Обратные обратные вызовы
- 3. Как подсчитать обратные вызовы?
- 4. Обратные обратные вызовы
- 5. Как вызывают обратные вызовы?
- 6. Обратные обратные вызовы в Rails
- 7. Модернизация, обратные вызовы?
- 8. BigCommerce - Hello World App - Обратные обратные вызовы
- 9. Как профилировать обратные вызовы торнадо
- 10. Как отлаживать обратные вызовы андроида?
- 11. Как использовать обратные вызовы Magiczoom
- 12. Как синхронизировать обратные вызовы JavaScript?
- 13. Как правильно использовать обратные вызовы?
- 14. Как спасать обратные вызовы ruby?
- 15. Как асинхронны обратные вызовы node.js?
- 16. Как сделать отложенные обратные вызовы?
- 17. GreenDao как реализовать обратные вызовы
- 18. Как пропустить обратные вызовы ActiveRecord?
- 19. Почему обратные вызовы «уродливые»?
- 20. Обратные вызовы Box2D
- 21. Обратные вызовы ThreadPoolExecutor?
- 22. Угловые обратные вызовы Toastr
- 23. EventHandlers или обратные вызовы
- 24. Асинхронные обратные вызовы Javascript
- 25. Обратные вызовы AndroidAnnotation REST
- 26. Обратные вызовы обработчиков RailsAdmin
- 27. Обратные вызовы Phoenix Framework
- 28. Обратные вызовы и это
- 29. Обобщенные обратные вызовы
- 30. WCF Обратные вызовы
спасибо - это выглядит намного лучше, чем мое решение :-) Я нахожусь на проекте rails 2, хотя, скоро перейдя на рельсы 3, я попробую. –
Только что реализовано, отлично работает! –
Для меня (рельсы 3.1) мне пришлось использовать 'skip_callback: destroy,: after,: destroy_cookie' (перефразируя для моего собственного прецедента) – iainbeeston