Saya sering menemukan diri saya menulis ini:
params.delete(:controller)
params.delete(:action)
params.delete(:other_key)
redirect_to my_path(params)
Jejak penghapusan tidak terasa benar dan tidak juga:
[:controller, :action, :other_key].each do |k|
params.delete(k)
end
Adakah yang lebih sederhana dan lebih bersih?
Hash#except!
tetapi Hash#except
adalah cara untuk pergi (jangan main-main dengan params
!). Sebagai aturan praktis, jangan main-main dengan objek apa pun di tempat kecuali benar-benar diperlukan, efek samping mungkin memiliki hasil yang tidak terduga.