2015-04-14 6 views
0

У меня есть этот urlMappings в ГраалейGrails, разные URL для одного контроллера и действий

"/"(controller: 'home', action: 'index') "/$id"(controller: 'home', action: 'index')

есть лучший способ, чтобы написать это, без дублирования кода? Если я использую только один, другое urlMapping не будет работать.

Заранее спасибо

+1

В этом случае не будет делать '$ id' необязательно совпадает с объединением двух: ''/$ id? "(controller: 'home, action:' index ')' –

+0

Nop, по какой-то причине он возвращает не найденный. Статус HTTP 404 - "/index.gsp" не найден. – msid

+0

Уточните, как вызывается это сопоставление URL. Упоминание «по какой-то причине» не поможет. Предложение @JoshuaMoore - это предлагаемый подход для обработки подобных сценариев. – dmahapatro

ответ

4

Если вы хотите, чтобы объединить два URL отображения вы можете сделать это, сделав параметр id необязательным, как это:

"/$id?"(controller: 'home', action: 'index')

+0

Он работал с использованием этого: «/ **» (контроллер: «home», действие: 'index') – msid

+0

Но этот шаблон означает, что он будет соответствовать всем, что ранее не было согласовано. –