আপনি নিম্নলিখিতগুলি করতে পারেন:
unless params.values_at(:one, :two, :three, :four).includes?(nil)
... excute code ..
end
আমি উপরের সমাধানটি ব্যবহার করার প্রবণতা রাখি যখন আমি আরও একবার বা দু'টি প্যারাম পরীক্ষা করতে চাই।
.values_at কোনও অপরিবর্তিত প্যারাম কী-এর জায়গায় শূন্যের সাথে ফিরে আসে এবং অ্যারে। অর্থাৎ,
some_hash = {x:3, y:5}
some_hash.values_at(:x, :random, :y}
নিম্নলিখিতগুলি ফেরত দেবে:
[3,nil,5]
। অন্তর্ভুক্ত? (শূন্য) তারপর কোনও শূন্য মানের জন্য অ্যারে পরীক্ষা করে। এটি সত্য ফিরে আসবে অ্যারে শূন্য অন্তর্ভুক্ত।
কিছু ক্ষেত্রে আপনি এটিও পরীক্ষা করতে পারেন যে প্যারামগুলিতে মিথ্যা মান রয়েছে না এবং খালি স্ট্রিং রয়েছে।
বিবৃতি না দেওয়া পর্যন্ত আপনি নীচের কোডটি যুক্ত করে সেই মানগুলি পরিচালনা করতে পারেন।
params.delete_if{|key,value| value.blank?}
সব একসাথে এটি দেখতে হবে:
params.delete_if{|key,value| value.blank?}
unless params.values_at(:one, :two, :three, :four).includes?(nil)
... excute code ..
end
এটি লক্ষ্য করা গুরুত্বপূর্ণ যে মুছুন_আইফ আপনার হ্যাশ / প্যারামগুলিকে সংশোধন করবে, তাই সতর্কতার সাথে ব্যবহার করুন।
উপরের সমাধানটি সুস্পষ্টভাবে সেট আপ করতে কিছুটা বেশি কাজ নেয় তবে আপনি যদি আরও বেশি পরীক্ষা করে নিচ্ছেন তবে কেবল এক বা দুটি প্যারাম।
params
একটি রেলস নিয়ন্ত্রক পদ্ধতি (এটি হ্যাশওয়াইথইন্ডিফিলারএ্যাক্সেস ফিরিয়ে দেবে), এটি প্রায় কারাগার।