2

コントローラーの生成に関して、テンプレートをよりスマートにしたいと考えています。私のドメイン クラスでは、コントローラーのセキュリティ アノテーションに追加する必要があるプロパティを含む列挙型を指定しました。

static enum SecurityProperties {
    ROLE_SUPER_USER( "ROLE_SUPER_USER" ),
    IS_AUTHENTICATED_FULLY( "IS_AUTHENTICATED_FULLY" )

    SecurityProperties( String s ) {
        this.s = s
    }

    @Override
    public String toString() {
        return s;
    }        
}

テンプレートがこの列挙型を見て、コントローラが生成されたときにコントローラにセキュリティ アノテーションを作成するようにしたいと思います。私はテンプレートを頻繁に使用しますが、実行するのは非常に面倒generate-allで、すべてのコントローラーにセキュリティ アノテーションを追加する必要があります。

私の問題は、ドメイン クラスを取得できないため、テンプレートから列挙型にアクセスする際に問題が発生していることです。

私は通常、次のようなドメイン クラスを取得します。

grailsApplication.getArtefact( "Domain", "myDomainClass" )?.getClazz()

ただしgrailsApplication、テンプレートでは使用できません。

クラスを取得したり利用可能にしたりするための Grails/Groovy の方法は他にどのようなものがありgrailsApplicationますか?

4

1 に答える 1

2

スキャフォールディングテンプレート内には、domainClassを含む変数がありますGrailsDomainClassので、domainClass.clazz必要なものを提供する必要があります。

于 2012-07-06T16:07:48.340 に答える