grails redirect(action:'index')重定向到show action

时间:2014-08-24 00:55:48

标签: grails redirect grails-controller

我是grails的新手,我正在尝试用它编写一个简单的博客应用程序。我有一些资源,我正在尝试实现创建资源逻辑。 这就是我所做的;

标签的URL映射;

"/tags"(resources: 'tags')

TagsController;

class TagsController {
  def index() {
      [tags: Tag.list()]
  }

  def create() { }

  def save() {
      def tag = new Tag(params.tag)
      if(tag.save()) {
          flash.message = "Tag Created Successfully"
          redirect(action: "index")
      }
      else {
          flash.error = "Something went wrong, please check the form again!"
          render(view: "create")
      }
  }

  def show() {
      render "this is the show action"
  }

}

使用此配置重定向(action:“index”)重定向到标记/索引路径。但是这条路径不适用于展示动作的索引动作。

我做错了什么?

我已经尝试过像这样的URL映射;

"/tags"(resources: 'tag')

在这种情况下,标签/和标签/索引路径触发索引操作,但标签/ 6(6是数据库上现有标签的ID)不会触发显示操作。

1 个答案:

答案 0 :(得分:1)

"/tags"(resources: 'tags')是正确的。

如果您想从save重定向到show,则必须提供id所需的show。请参阅mapping grails如何将网址映射到操作。

提供您可以写的id

redirect(action: "index", id: tag.id)

redirect(action: "show", id: tag.id)

[更新:]

要重定向到index,您必须明确设置方法:

重定向(操作:"索引",方法:" GET")