Запустить приложение grails через Intelli-J с корневым параметром localhost: 8080 / вместо localhost: 8080 / app или изменить createLink? - PullRequest
2 голосов
/ 14 февраля 2011

Есть ли способ запустить приложение через Intelli-J, чтобы он сделал localhost:8080/ корнем приложения?У меня проблема в том, что URL AJAX, которые работают локально, не работают в производственной среде, и createLink(action:"ajaxUpdate"), кажется, создает ссылки на /app/ajaxUpdate, который работает локально, но не в производственной среде.

Есть лиспособ исправить createLink для работы в обоих местах?Я подумал, что, возможно, я мог бы просто использовать UrlMappings, чтобы сделать все вызовы ajax красивыми, и просто сослаться на /ajaxUpdate, но это не работает из-за того, как приложение grails развернуто в Intelli-J.

Как сделатьЯ это исправлю?

1 Ответ

6 голосов
/ 14 февраля 2011

О вашей проблеме, в grails-app / conf / Config.groovy вы можете указать URL-адрес сервера, например:

environments {
    production {

        grails.serverURL = "http://localhost/"  // Specify the "root" of your link
        ....
    }

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

Тогда метод createLink должен подойти.Как я знаю, речь идет о конфигурации Grails, не относящейся к IntelliJ.

РЕДАКТИРОВАТЬ: Кажется, я пропустил некоторую информацию: чтобы сделать createLink начать с "http://localhost/",, необходимо добавить еще одну строку в Config.groovy:

grails.app.context = "/"
...