Często piszę to:
params.delete(:controller)
params.delete(:action)
params.delete(:other_key)
redirect_to my_path(params)
Ścieżka usuwania nie wydaje się odpowiednia, podobnie jak:
[:controller, :action, :other_key].each do |k|
params.delete(k)
end
Czy jest coś prostszego i czystszego?
Hash#except!
ale Hash#except
jest drogą do zrobienia (nie zadzieraj params
!). Z reguły nie rób bałaganu z żadnym obiektem na miejscu, chyba że jest to absolutnie wymagane, ponieważ efekty uboczne mogą mieć nieoczekiwane rezultaty.