Это не очевидная проблема, но имеет место быть. Биндинг работает не по порядку переменных, а по имени. Ресурс роут формирует имя doc, а в методе ожидаешь document. Совпадений нет, биндинг не происходит. Просто запомни этот факт и применяй в дальнейшем.
Подумаю на досуге какой ещё вопрос можно будет задать. Основная цель, которую я преследую - это в полуигровой форме доходчиво объяснить как правильно :)