Мне интересно, как рельсы реализуют фильтры типа before_filter
.
Но после чтения исходного кода я все еще запутался.
Я заметил, что структура rails поддерживает filter_chain
и запускает фильтры до целевого метода.
Но я не понимаю важный процесс: как рельсы захватывают вызов метода?
Я имею в виду, например, что у меня есть класс Dog
, и установите a before_filter
в коду метода.
Когда я вызываю dog.bark
, рельсы должны каким-то образом захватить это вызов и вместо этого выполнить свой измененный метод.
Однако я не нашел такой код в исходном коде.
Может ли кто-нибудь сказать мне идею или указать, где находится код?