Допустим, вам надо сформировать на этапе выполнения джаваскрипта из маршрута (route) ссылки вида:
/entity/editform/5 /entity/editform/6 |
Сам маршрут такой:
GET /entity/editform/:id controllers.EntityController.entityEdit(id:Long) |
При этом, в scala виде (view) внутри javascript вы можете располагать только переменной entity.id (получили массив сущностей с помощью ajax). Поэтому вызов вида:
... url: '@routes.EntityController.entityEdit(entity.id)'; |
будет вызывать ошибку на этапе компиляции scala: во view — в области видимости scala — нет объекта entity c полем id. Но ведь какое-то число скормить скале надо! Что же можно тут сделать?
Можно вспомнить, что Long может принимать и отрицательные значения. В то же время, сущность в ID отрицательные числа иметь не может. Значит можно вызвать:
var editUrl = '@adminnew.routes.PromocodeController.promocodeRenderEditForm(-10)'; |
и получить: entity/editform/-10
А потом сделать замену:
editUrl.replace("-10", entity.id); |
Такая замена не сможет испортить ссылку для редактирования какой-то сущности, т.к. сущностей с отрицательным ID не существует в нормальных условиях. Если все-таки в вашем проекте существуют, то придется покумекать. Возможно, надо будет назначить численное значение, которое обрабатывается особым образом.
Очень долго искал инфу в сети, пока не нашел этот сайт.
Для меня информация на этом сайте оказалась очень полезной.
Всем успехов!