2017-06-20 51 views
0

好奇,如果这是一个问题,或者如果我做错了什么。鉴于以下控制器:Grails 3.2 - 在脚手架控制器上忽略defaultAction?

class MetaDataTypeController { 
    static scaffold = MetaDataType 
    static defaultAction = 'list' 

    def list() { 
    render("You meant ${g.link(action: 'index', '/index')}") 
    } 

    def index() { 
    [metaDataTypeList: MetaDataType.list()] 
    } 
} 

在“/应用程序/ metaDataType”访问应用程序,我希望看到的“名单”的行动,并链接到“索引”。我所看到的是“索引”行动。如果我删除static scaffold声明,它将起作用,并显示链接。

这是故意的吗?我只是俯视一些东西。

编辑:错字固定

回答

0

做的那样

class MetaDataTypeController { 
    static scaffold = MetaDataType 

    def index() { 
     redirect(controller:'MetaDataType',action:'list') 
    } 

    def list() { 
     [metaDataTypeList: MetaDataType.list()] 
    } 
+0

在技术上的工作,但这个例子是说明......我不想脚手架'指数()'动作重定向到'名单()'。在现实生活中,这些是两件独立的事情,我希望列表成为默认操作,同时仍然利用脚手架索引。 – Trebla