回答:
でわかるようにActionController::Base
、before_action
はの新しい構文にすぎませんbefore_filter
。
ただし、すべてのbefore_filters
構文はRails 5.0では非推奨であり、Rails 5.1では削除されます
before_actionとbefore_filterの違いを理解するには、アクションとフィルターの違いを理解する必要があります。
アクションは、ルーティング先のコントローラーのメソッドです。たとえば、ユーザー作成ページがUsersController#newにルーティングされる場合があります。このルートのアクションはnewです。
フィルターは、コントローラーアクションに関して、その前、後、または周囲で実行されます。これらのメソッドは、コントローラー内のすべてのアクションに共通データをリダイレクトまたはセットアップすることにより、アクション処理を停止できます。
Rails 4 –> _action
Rails 3 –> _filter