5

我创建了一个非常简单的表单来注册用户

<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 错误页面上的地址栏并按 Enter 键),那么它就可以工作了!

我的控制器看起来像这样,非常简单。

class UsersController {
    def signup() {
        render "Hello World"
    }
}

抱歉,如果这是一个菜鸟问题,但我已经查看了 Grails 文档,但无法弄清楚为什么会发生这种情况。非常感谢任何帮助。谢谢。

4

1 回答 1

6

g:actionSubmit 的参数 action="update" 会将其推送到不存在的 UsersController def 更新,因此它会抛出 404。

您可以删除 action="update" 或将该操作添加到控制器。

http://grails.org/doc/latest/ref/Tags/actionSubmit.html

您还可以使用 ag:submitButton 代替。

http://grails.org/doc/latest/ref/Tags/submitButton.html

于 2012-11-11T13:39:20.403 回答