Mi trovo spesso a scrivere questo:
params.delete(:controller)
params.delete(:action)
params.delete(:other_key)
redirect_to my_path(params)
La scia delle eliminazioni non sembra giusta e nemmeno:
[:controller, :action, :other_key].each do |k|
params.delete(k)
end
C'è qualcosa di più semplice e più pulito?
Hash#except!
ma Hash#except
è la strada da percorrere (non scherzare params
!). Come regola generale, non scherzare con nessun oggetto sul posto a meno che non sia assolutamente necessario, gli effetti collaterali possono avere risultati inaspettati.