Я хочу использовать представление Revel для добавления и редактирования элемента.Между этими вариантами использования столько дублирования, что имеет смысл только одно представление.
При добавлении элемента моя форма будет публиковаться в /item/add
.При редактировании элемента цель публикации будет item/edit
.Я передам этот URL в качестве аргумента представления.
Мой вопрос - учитывая, что у меня есть функции контроллера:
Item.Add(postvar1, postvar2, ... etc.)
Item.Edit(postvar1, postvar2, ... etc.)
есть ли способ получить URL, который направляет эти методы контроллера?
Я пытался позвонить routes.Item.Add("", "", ...)
, но это дает мне /item/add?postvar1=&postvar2...
.Я мог бы обрезать / отформатировать эту строку, но мне интересно, пропускаю ли я существующую возможность Revel, чтобы получить этот базовый URL (т.е. /item/add
)?
В моем файле маршрутов аргументы не указаны.В функциях контроллера я использую автоматическое связывание переменных POST с параметрами функции.Возможно, я не могу взять свой пирог и съесть его тоже - я всегда мог бы удалить автоматическое связывание, и все это сработало бы.