【问题标题】:Grails action redirect callGrails 动作重定向调用
【发布时间】:2015-10-20 08:27:08
【问题描述】:

我是 grails 新手,只想一次学习一个。

如何从同一个控制器中的另一个动作调用一个动作:

class ListProjectsController {
    def index () {      
        redriect(action: sampleMethod)
    }

    def sampleMethod () {
        //some codes here
    }
}

我尝试了重定向,但这导致了一些错误,请帮忙?

这是错误信息的图片

http://i24.photobucket.com/albums/c22/Klifford_Kho/Capture_zps5j8nov9f.png

【问题讨论】:

  • 您遇到的错误是什么,您要达到什么目的?只是在索引处重定向到另一个操作?
  • 是的,我只想学习如何重定向到另一个动作,而不仅仅是从索引,而是任何方法
  • 您能否使用收到的错误消息更新您的问题。我怀疑您没有 sampleMethod 操作的视图。
  • 已经更新了。我这里还是不能直接上传图片所以我提供了一个链接
  • 应该是redirect(action: 'sampleMethod') ...注意方法的名字是String

标签: grails grails-controller


【解决方案1】:

这是 Grails 2 之前的旧样式,当时动作是闭包。您可以引用名称或直接按名称引用闭包。使用方法时,您不能将它们称为对象,因此您只需引用名称即可:

redirect(action: 'sampleMethod')

【讨论】:

    【解决方案2】:

    运行 grails clean 命令并将代码更新为

    redirect(action: 'sampleMethod')
    

    【讨论】:

      【解决方案3】:

      您将方法名称redirect 拼错为redriect

      【讨论】:

      • 哇,愚蠢的错误..虽然我修复它之后它仍然给出同样的错误:((
      • 同样的错误:没有这样的属性:类的sampleMethod:projecttracker.ListProjectsController
      • 在错误中您会发现 No such property: sampleMethod 因为您将其定义为 sampleMethod 而不是将其定义为像这样的字符串 redirect(action:'sampleMethod')
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 1970-01-01
      • 1970-01-01
      • 2012-06-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多