에서 빈 값을 제거 내가 요청에서 같은 PARAMS을 받아 봐 가지고해시
params[:search] = {"user_id_in"=>[""], "status_in"=>[""], "priority_in"=>["", "8"]}
params[:search] = {"priority_in"=>["8"]}
에서 빈 값을 제거 내가 요청에서 같은 PARAMS을 받아 봐 가지고해시
params[:search] = {"user_id_in"=>[""], "status_in"=>[""], "priority_in"=>["", "8"]}
params[:search] = {"priority_in"=>["8"]}
내가 두 번 선택 사용과 솔루션을 메타 검색 보석은 그것으로 잘못 작동하기 때문에 나는 그것을 삭제해야 :
params[:search] = {"user_id_in"=>[""], "status_in"=>[""], "priority_in"=>["", "8"]} params[:search].select! do |k, v| v.select! do |vv| !vv.empty? end v.length > 0 end
+1과 같은 모든 값을 제거하고 싶습니다. '! vv.empty?'를 사용 하겠지만, 다소 차이는 없습니다. –
예, 더 우아합니다. 나는 나의 해결책을 바로 잡는다! – Nucc
기능적 접근법 (예 : 전체 업데이트 요청 이후 마지막 할당시 제외) :
pairs = params[:search].map { |k, vs| [k, vs.reject(&:blank?)] }
params[:search] = Hash[pairs.select { |k, vs| vs.present? }]
params : params [: search] = { "priority_in"=> [ "8"]}에서 가져 오시겠습니까? –
[ ""] 또는 "" –