你在Rails中检查param存在+值的最简洁方法是什么?

jbn*_*unn 9 ruby-on-rails

我有一个可选的URL参数,比如我需要检查的"user_id".我知道我可以使用

if params.has_key?(:user_id) ...

根据user_id参数的存在来做事情,但有时候user_id没有值传递,所以我想完全忽略它.为了解决这个问题,我发现自己做了很多 - 但必须有一个更好的方法,对吧?

if params[:user_id] && !params[:user_id].empty?
  # Do stuff
end
Run Code Online (Sandbox Code Playgroud)

它看起来真的很难看.

ger*_*rky 17

如果您只是检查是否params[:user_id]存在,那么您可以尝试:

if params[:user_id].present?
  # do stuff
end
Run Code Online (Sandbox Code Playgroud)