检查集

时间:2016-09-27 15:40:33

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

我的搜索引擎会从参数中检索一些搜索过滤器,但如果没有“过滤器”参数,我需要做其他事情。

我以前在做

params.slice(*filter_params).any?

但我现在正在接受

  

弃权警告:方法是什么?已弃用,将在Rails 5.1中删除,因为ActionController::Parameters不再继承哈希值。使用此弃用行为会暴露潜在的安全问题。如果您继续使用此方法,则可能会在您的应用中创建可被利用的安全漏洞。相反,请考虑使用其中一种未弃用的文档化方法:http://api.rubyonrails.org/v5.0.0.rc1/classes/ActionController/Parameters.html

我不知道如何在此处替换.any?来电?

3 个答案:

答案 0 :(得分:2)

您可以将其替换为Object#present?

params.slice(*filter_params).present?

答案 1 :(得分:0)

您可以在.to_h上致电params以获取您已经习惯的哈希方法。

答案 2 :(得分:0)

你可以使用!.blank?或者!空?