9

オプションの URL パラメーターがあります。たとえば、「user_id」を確認する必要があります。私は私が使用できることを知っています

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

user_idパラメータの存在に基づいて物事を行うのですuser_idが、値なしで渡されることがあるので、完全に無視したいと思います。この問題に対処するために、私はこれを頻繁に行っていますが、もっと良い方法があるはずですよね?

if params[:user_id] && !params[:user_id].empty?
  # Do stuff
end

本当に醜いようです。

4

3 に答える 3

17

が存在するかどうかを確認するだけの場合params[:user_id]は、次を試すことができます。

if params[:user_id].present?
  # do stuff
end
于 2012-10-03T14:44:51.580 に答える
1

使ってHash#fetchみませんか?

if params.fetch(:user_id, nil).present?
  # Do stuff
end
于 2012-10-03T14:42:01.027 に答える