В rails> 4.0.0 генераторы создают операции CRUD с before_action
not before_filter
. Кажется, делает то же самое. Так в чем же разница между этими двумя?
ruby-on-rails
ruby
ruby-on-rails-4
crud
freemanoid
источник
источник
Это просто синтаксическая разница, в приложении rails есть CRUD, и семь действий в основном по индексу имен , new , create , show , update , edit , destroy .
Rails 4 сделать его разработчик дружественного к синтаксису изменения перед фильтром , чтобы перед действием .
before_action вызывает метод перед действиями, которые мы объявляем, например
set_event - это метод, который будет вызываться всегда перед показом, обновлением, редактированием и уничтожением.
источник
Это просто смена имени.
before_action
более конкретно, потому что он выполняется перед действием.источник
before_filter / before_action: означает что-либо, что должно быть выполнено перед выполнением любого действия.
Оба одинаковы. они просто псевдонимы друг для друга, так как их поведение одинаково.
источник
Чтобы выяснить, в чем разница между before_action и before_filter, мы должны понять разницу между action и filter.
Действие - это метод контроллера, к которому вы можете направить маршрут. Например, ваша страница создания пользователя может быть перенаправлена на UsersController # new - new - это действие на этом маршруте.
Фильтры работают относительно действий контроллера - до, после или вокруг них. Эти методы могут остановить обработку действия, перенаправив или настроив общие данные для каждого действия в контроллере.
источник