我注意到,一些应用程序我测试有另一种观点认为,从动作控制器提交,但是当该页面呈现的/,而不是看到来电:
$控制器/ $页
我看到:
$控制器/指数
这是与URL映射配置的问题?默认操作?只是好奇,因为它似乎是映射到默认的URI而不是实际的操作。
视图代码:
<table>
..
<g:actionSubmit class="stats" action="stats" value="View Stats"/>
..
</table
控制器:
def stats() {
def teamId = Team.get(params.id)
def allPlayers = Player.withCriteria {
eq('team', teamId)
and {
eq('isActive', true)
}
}
[allPlayers:allPlayers, teamId:params.id]
}
urlMapping中:
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
}
编辑
我实际他想出了它是什么。这让我更加困惑。
grails actionSubmit有一个绑定它的动作。这种形式只是一个正常的形式,没有电话:
<g:form>
<g:actionSubmit class="stats" action="stats" value="View Stats"/>
<g:actionSubmit class="schedule" action="schedule" value="View Schedule"/>
<g:form>
所以默认情况下,形式重定向动作$控制器/索引。如果您在g:form标签中添加一个动作调用,那么这两个按钮将直接指向正确的页面,但是现在URI将变为$ controller/$ g:form_action。
我想我不明白actionSubmit的动作,如果需要g:form作为包装。
http://jira.grails.org/browse/GRAILS-3086 – user82302124 2012-04-19 15:05:17