1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Railsで`before_filter`が`before_action`に変更された理由と対処法

Posted at

はじめに

Rails 5以降で、before_filterが廃止され、before_actionに変更されました。この変更により、古いコードをそのまま使おうとするとエラーが発生します。この記事では、この変更の理由と簡単な対処法を紹介します。

変更の理由

  • 一貫性: 他のフィルタ(after_actionaround_action)と命名を統一するために変更されました。
  • 直感的な名前: before_actionという名前の方が、アクションの前に実行するという意味が明確です。

対処法

before_filterを使用している場合、before_actionに置き換えるだけです。

変更例

変更前:

before_filter :authenticate_user

変更後:

before_action :authenticate_user

このように、before_filterをすべてbefore_actionに書き換えてください。

一括置換

複数のファイルで使用している場合、以下のコマンドで一括置換ができます。

grep -rl 'before_filter' app/ | xargs sed -i '' 's/before_filter/before_action/g'

まとめ

before_filterはRails 5以降で廃止されましたので、before_actionに変更することでエラーを解消できます。これで、Railsのアップデートも安心して進められます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?