Я часто пишу свои собственные маршруты, чтобы избежать именно той проблемы, которую вы описываете. Я думаю, что это большая ошибка в маршрутизации Rails.
Возможно, вы сможете изменить маршруты Devise и остальные маршруты ресурсов, чтобы URL-адреса GET и POST выглядели одинаково. Вот пример того, что я имею в виду.
scope '/posts' do
get '/:id/edit' => "posts#edit", :as => "edit_posts"
post '/:id/edit' => "posts#update", :as => "update_posts"
end
Тем не менее, немного сложнее делать такие вещи.
Вы всегда можете отключить выбор локали для страниц, где у вас есть проблемы.