我创建了一个非常简单的注册用户表单
<g:form name="signupForm" url="[controller:'users', action:'signup']">
<g:textField name="username" placeholder="Username" />
<g:passwordField name="password" placeholder="Password" />
<g:textField name="email" placeholder="Email" />
<g:actionSubmit class="right" value="Signup" action="update" />
</g:form>
当我点击提交按钮时,我收到404错误The requested resource is not available.
但是,如果我手动导航到完全相同的URL(或者甚至只是选择404错误页面上的地址栏并按回车键),那么它可以正常工作!
我的控制器看起来像这样,非常简单。
class UsersController {
def signup() {
render "Hello World"
}
}
很抱歉,如果这是一个菜鸟问题,但我已经查看了Grails文档,并且无法弄清楚为什么会这样。任何帮助非常感谢。感谢。
答案 0 :(得分:6)
g:actionSubmit有参数action =“update”,它将把它推送到那个不存在的UsersController def更新,因此它会抛出404.
您可以删除action =“update”或将该操作添加到控制器。
http://grails.org/doc/latest/ref/Tags/actionSubmit.html
还可以使用g:submitButton代替。