Revelの親コントローラを作成する
親コントローラ生成について 親コントローラ(ドキュメントではExtending the Controllerとなっているが)は下記のドキュメントのように作成すると良い。
https://revel.github.io/quickstart/controllers.html#extending-the-controller
1type (
2 BaseController struct {
3 *revel.Controller
4 }
5)
6type (
7 MyController struct {
8 BaseController
9 }
10)
このとき、
Note in the MyController the BaseController reference is NOT a pointers.
訳 : MyControllerでは、BaseController参照はポインタではありません
とのことなので注意。
またこのとき、ファイルを分けることもパッケージを分けることも可能なので、
controllers/core/baseController.go
1package core
2
3import (
4 "github.com/revel/revel"
5)
6
7type (
8 BaseController struct {
9 *revel.Controller
10 }
11)
controllers/myController.go
1package controllers
2
3import (
4 "github.com/revel/revel"
5 "path/to/controllers/core"
6)
7
8type (
9 MyController struct {
10 BaseController
11 }
12)
という形でもOK。