Мое плохое, согласно предложению @tadman, я попытался использовать send(:new_work_path, args)
снова, и это сработало! Должно быть, опечатка раньше.
Прежде чем выяснить, что send работает сразу же, я нашел другое решение, которое также представляет интерес:
new_polymorphic_path(Work, args)
Который, кажется, также предлагает немного синтаксического сахара.