我需要检查多个参数的存在。
目前我写的是
if params[:p1].present? && params[:p2].present? && params[:p3].present?
# Do something
end
有没有更有效的方法可以做到这一点?
最佳答案
您可以使用Enumerable.all?
方法:
%i( p1 p2 p3 ).all? { |key| params[key].present? }
另一种选择是,如果您需要这些值,它将获取它们并检查是否存在。
params.values_at(*%i( p1 p2 p3 )).all?(&:present?)
或者
params.values_at(:p1, :p2, :p3).all?(&:present?)
关于ruby-on-rails - 检查多个参数的存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34766494/