题 -
我注意到我测试的一些应用程序从动作提交调用了另一个视图/控制器,但是当呈现该页面时,而不是看到:
$控制器/ $页
我知道了:
$控制器/索引
这是URL映射配置的问题吗?默认动作?只是好奇,因为它似乎是URI映射到默认值而不是实际操作.
查看代码:
<table>
..
<g:actionSubmit class="stats" action="stats" value="View Stats"/>
..
</table
Run Code Online (Sandbox Code Playgroud)
控制器:
def stats() {
def teamId = Team.get(params.id)
def allPlayers = Player.withCriteria {
eq('team', teamId)
and {
eq('isActive', true)
}
}
[allPlayers:allPlayers, teamId:params.id]
}
Run Code Online (Sandbox Code Playgroud)
urlMapping中:
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
我实际上弄清楚它是什么.这让我更加困惑.
grails actionSubmit有一个绑定它的动作.那个表单只是一个普通的表单,没有调用:
<g:form>
<g:actionSubmit class="stats" action="stats" value="View Stats"/>
<g:actionSubmit class="schedule" action="schedule" value="View Schedule"/>
<g:form>
Run Code Online (Sandbox Code Playgroud)
因此,默认情况下,表单将操作重定向到$ controller/index.如果你在g:form标签中添加一个动作调用,这两个按钮将指向正确的页面,但URI现在将是$ controller/$ g:form_action.
如果需要g:form作为包装器,我想我不明白actionSubmit的动作.
| 归档时间: |
|
| 查看次数: |
3779 次 |
| 最近记录: |