createLink (absolute: true) создает неработающую ссылку - PullRequest
3 голосов
/ 12 октября 2011

Я только что увидел странное поведение внутри контроллера в моем приложении Grails.

Я позвонил createLink(absolute:true, action:"action", controller:"controller")

и получил

http://localhost:8080/[:]/controller/action

в любом случае, место, где должно появиться мое applicationName, заполнено "[:]", которое я считаю пустой картой.

Кто-нибудь видел это раньше?Любые решения?

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

Алекс

Ответы [ 2 ]

3 голосов
/ 13 октября 2011

Я использую зависящую от среды конфигурацию serverURL в Config.groovy. Для разработки и тестирования это выглядит так:

grails.serverURL = "http://localhost:8080/${appName}"

Эта запись конфигурации используется в качестве префикса при создании ссылки с параметром absolute:true.

После изменения файла конфигурации во время работы Grails Grails не сможет правильно разрешить ввод текста ${appName}, и в результате будет указано [:] как applicationName.

Так что это произойдет, только если вы измените файл Config.groovy при запуске grails.

Надеюсь, это поможет, если кто-нибудь столкнется с подобными проблемами;)

Alex

2 голосов
/ 12 октября 2011

Никогда раньше этого не видел, можете ли вы проверить, что Config.groovy содержит

grails.app.context = "/${appName}"

Также убедитесь, что application.properties содержит

app.name=yourAppName
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...