Перезапись URL для действия по умолчанию в контроллерах - PullRequest
2 голосов
/ 12 августа 2010

У меня проблемы с переписыванием URL-адресов в Grails:

У меня есть 2 контроллера BlogController и ProjectsController каждый со стандартным def index = { } и соответствующим представлением.

Сейчаскогда я создаю следующие ссылки:

<g:link controller="blog">Blog</g:link>
<g:link controller="projects">Projects</g:link>

Они переводятся в http://localhost:8080/myapp/blog/index и http://localhost:8080/myapp/projects/index.Но хотите, чтобы они (и все остальные действия контроллеров по умолчанию) были без завершающего /index.

Может кто-нибудь помочь мне сделать это?

Ответы [ 2 ]

3 голосов
/ 13 августа 2010

Попробуйте указать action параметр в link tag как пробел.

<g:link controller="projects" action=" ">Projects</g:link>
1 голос
/ 12 августа 2010

Попробуйте использовать сопоставление именованных URL

Добавьте это к вашему grails-app/conf/UrlMappings.groovy

    name blog: "/blog" {
            controller = "blog"
            action = "index"
    }
    name projects: "/projects" {
            controller = "projects"
            action = "index"
    }

и измените ссылки для использования параметра сопоставления:

<g:link mapping="blog">Blog</g:link>
<g:link mapping="projects">Projects</g:link>
...