Rails 4: before_filter vs. before_action

It is just a name change. before_action is more specific, because it gets executed before an action.


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.


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