コントローラーでクライアントからリクエストを受け取ると、次のようにします。
def index
if (params[:event] == nil || params[:year] == nil || params[:country] == nil)
raise some_error
end
end
Rails 3.2でそれを実行するより良い方法はありますか?
ありがとう。
コントローラーでクライアントからリクエストを受け取ると、次のようにします。
def index
if (params[:event] == nil || params[:year] == nil || params[:country] == nil)
raise some_error
end
end
Rails 3.2でそれを実行するより良い方法はありますか?
ありがとう。
試す:
keys = [:event, :year, :country]
unless (keys - (params.keys & keys)).blank?
raise some_error
end
これは同じことを行います。もう少し冗長ですが、条件で各パラメーター キーを直接指定する必要がなくなるため、DRYer になります。
params_hash = []
keys = [:event, :year, :country]
params.each do |key, value|
if keys.include?(key)
params_hash << value
end
end
if params_hash.include?(nil)
raise some_error
end