URL-адрес Grails отображает неверный URL
Грааль 1.3.5
При отображении на новый контроллер в моем приложении:
"/order/$action/$id?" {
controller = "customerOrder"
}
запрос "/order/show/13" преобразуется в "/ () / ()? / (*)?" как видно здесь в журнале:
17:53:02 DEBUG UrlMappingsFilter - Matched URI [/order/show/13] to URL mapping [/(*)/(*)?/(*)?], forwarding to [/grails/home/page.dispatch] with response [class org.codehaus.groovy.grails.web.sitemesh.GrailsContentBufferingResponse]
Если я добавлю это отображение:
"/order/show/13"{
controller = "customerOrder"
action = "show"
id = 13
}
Он по-прежнему разрешается в "/ () / ()? / (*)?". Я отредактировал отображение:
"/customerOrder/show/13"{
controller = "customerOrder"
action = "show"
id = 13
}
и журнал отчетов:
18:50:08 DEBUG DefaultUrlMappingsHolder - Matched URI [/customerOrder/show/13] with pattern [/customerOrder/show/13], adding to posibilities
Позже это также сообщает:
18:50:08 DEBUG DefaultUrlMappingsHolder - Matched URI [/customerOrder/show/13] with pattern [/(*)/(*)?/(*)?], adding to posibilities
Я полностью сбит с толку этим. В любом случае, это решает то же самое. Идеи кого-нибудь?
1 ответ
По-видимому, в 1.3.5 вы должны использовать именованное замыкание вместо синтаксиса функции при объявлении функции представления.
def show( Long id ) { }
против
def show = {}
Последнее правильно. Если бы кто-то мог пролить свет на то, почему...