Rails 4: before_filter vs. before_action
Solution 1:
As we can see in ActionController::Base
, before_action
is just a new syntax for before_filter
.
However the before_filter
syntax is deprecated in Rails 5.0 and will be removed in Rails 5.1
Solution 2:
It is just syntax difference, in rails app there is CRUD, and seven actions basically by name index, new, create, show, update, edit, destroy.
Rails 4 make it developer friendly to change syntax before filter to before action.
before_action call method before the actions which we declare, like
before_action :set_event, only: [:show, :update, :destroy, :edit]
set_event is a method which will call always before show, update, edit and destroy.
Solution 3:
It is just a name change. before_action
is more specific, because it gets executed before an action.