有没有办法通过 Intelli-J 启动应用程序,使其 localhost:8080/
应用程序的根?我遇到的问题是本地工作的 AJAX url 在生产环境中不起作用,并且 createLink(action:"ajaxUpdate")
似乎创建了对 /app/ajaxUpdate
的引用,它在本地有效,但在生产中无效。
有没有办法修复createLink
在两个地点工作?我想也许我可以使用 UrlMappings 来使所有 ajax 调用变得漂亮,并且只需引用 /ajaxUpdate
,但这不起作用,因为 grails 应用程序在 Intelli-J 中的部署方式不同。
如何解决这个问题?
最佳答案
关于您的问题,在 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 = "/"
关于grails - 通过 Intelli-J 启动 grails-app 并将 root 设置为 localhost :8080/instead of localhost:8080/app, 或修改 createLink?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4989528/