升级到 Rails 5 的问题 - 过滤器之前

Issue with upgrading to Rails 5 - before filter

我知道 before_filter 已弃用 rails。我没有打电话给它,但出于某种原因,我收到一条消息说我正在打电话。 before_filter is deprecated and will be removed in Rails 5.1. Use before_action instead. (called from <top (required)> at /Users/intern/Desktop/Work/app/config/environment.rb:5)

在那个文件 environment.rb 的第 5 行,我不是在过滤器之前调用,而是这一行 Rails.application.initialize!

为什么没有在那里调用前过滤器时会说正在使用它?任何帮助都会很棒!谢谢

其中一个宝石正在使用它。或者你,在其他控制器中。将您对 before_filter 的所有用法替换为 before_action 并祈祷您所有的宝石都得到足够的维护,以便在这成为错误之前执行相同的操作。

您可以使用此代码段找到有问题的 gems 文件。将路径替换为您自己的 gempath。

grep -rn --color=always --include=*.rb "[\.|\:|\s]before_filter " ~/.rvm/gems/ruby-2.5.1/gems