我是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)不会触发显示操作。
答案 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")