4

ドメイン クラスcom.example.users.Userに一時フィールド カルネットを追加しました。

class User implements Serializable {
    ...
    def carnets

    static transients = ['springSecurityService', 'carnets']
    ...
}

私のgsonビューuser/_user.gsonでレンダリングしたい:

import com.example.users.User

model {
    User user
}

json g.render(user, [excludes:['password', 'deleted', 'enabled', 'accountExpired', 'accountLocked', 'passwordExpired', 'authorities']]) {
    //"carnets" g.render(template:"/carnet/index", collection: user.carnets, var:'carnets')
    "carnets" tmpl.'/carnet/index'(user.carnets)
}

しかし、私は受け取った:

原因: grails.views.ViewRenderException: ビューのレンダリング エラー: 名前 /carnet/index のテンプレートが見つかりません

Carnet のビュー gson ファイルは自動生成され、CarnetController から実行すると正常に動作します。

私は何が欠けていますか?

4

2 に答える 2

7

私のユース ケース (Grails 3.3.0) では、テンプレート パスを : から : に変更する必要があり tmpl.'message/message' まし たtmpl.'/message/message' (先頭にスラッシュを追加)。

構文を使用する../と開発中に機能しましたが、WAR ファイルを Tomcat にデプロイするときにエラーが発生しました。参照: [ https://github.com/grails/grails-views/issues/140]

于 2017-10-06T19:14:17.487 に答える