【问题标题】:Issue with upgrading to Rails 5 - before filter升级到 Rails 5 的问题 - 过滤器之前
【发布时间】:2023-04-11 10:54:01
【问题描述】:

我知道 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)

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

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

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-5


    【解决方案1】:

    你可以使用这个 sn-p 找到有问题的 gems 文件。将路径替换为您自己的 gempath。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 那么,当Rails 被调用时,它会调用我所有的宝石和代码吗?
      • 因为我没有在我的项目中使用它,而且据我所知没有任何 gem 使用。
      • 初始化应用程序确实意味着加载你的宝石,是的。
      • 好的,我明白了。谢谢
      • 你知道我可以找出哪个 gem 可能在使用它吗?
      猜你喜欢
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 2015-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-15
      • 1970-01-01
      相关资源
      最近更新 更多