Я часто пишу это:
params.delete(:controller)
params.delete(:action)
params.delete(:other_key)
redirect_to my_path(params)
След удалений не чувствуется правильным и не делает:
[:controller, :action, :other_key].each do |k|
params.delete(k)
end
Есть ли что-нибудь попроще и чище?
Hash#except!
но Hash#except
это путь (не связывайтесь params
!). Как правило, не связывайтесь с каким-либо объектом на месте, если это не требуется, побочные эффекты могут иметь неожиданные результаты.