Play framework 2: обратная маршрутизация с параметром в синтаксисе файла представления

0

Item - это класс модели, а Items - класс контроллера. Теперь я пытаюсь использовать обратную маршрутизацию с параметром, но он терпит неудачу. Как это исправить?

Посмотреть:

@(item: Item)

<a href="@routes.Items.delete(@item.id)">delete</a>

маршруты:

GET     /items/$id<[0-9]+>           controllers.Items.show(id: Long)
GET     /items/add                  controllers.Fruits.addForm()
POST    /items/add                  controllers.Items.add()
DELETE  /items/$id<[0-9]+>           controllers.Fruits.delete(id: Long)

ошибка, которую я получаю

illegal start of simple expression

и он указывает на второй символ @

Теги:
playframework-2.0

1 ответ

3
Лучший ответ

Могло бы также привести обсуждение в комментариях к фактическому ответу. Ваш код не компилировался, потому что в аргументе был добавлен дополнительный @.

Что касается того, почему вы не попадаете в конечную точку DELETE, это потому, что вы не можете иметь регулярную ссылку HTML, запускающую глагол, отличный от GET, и вы можете отправлять формы только POST. Если вы хотите вызывать удаление, вам необходимо использовать JavaScript. Например, вы можете использовать метод jQuery ajax с типом, установленным на "DELETE". В вашем случае вы можете создать обработчик onclick который, в свою очередь, отправляет запрос ajax. Также обратите внимание, что не все браузеры поддерживают глагол DELETE, как это.

  • 0
    отлично, спасибо за ответ!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню