我创建了 /app/models/todo-item.go 文件,如下所示:
package models
import (
"github.com/revel/revel"
)
type TodoItem struct {
Id int64 `db:"id" json:"id"`
Name string `db:"name" json:"name"`
}
func (b *TodoItem) Validate(v *revel.Validation) {
v.Check(b.Name,
revel.ValidRequired(),
revel.ValidMaxSize(25))
}
在 src/RevelApp/app/controllers/init.go 中,我有这个(PS,我正在使用 GorpController 与 MySQL 交互):
func defineTodoItemTable(dbm *gorp.DbMap){
// set "id" as primary key and autoincrement
t := dbm.AddTable(models.TodoItem{}).SetKeys(true, "id")
t.ColMap("name").SetMaxSize(25)
}
我收到一个错误: Go 代码 src/RevelApp/app/controllers/init.go 无法编译:未定义:模型
我尝试导入 ."RevelApp/app/models" 然后删除 models.TodoItem{} 中的模型(如这里的描述:Revel with Gorm "undefined: Page"),我收到错误:App failed to start up revel/线束:应用程序超时。
该链接是我能找到的与此问题相关的唯一链接。我错过了什么吗?
编辑:$GOPATH:
/home/me/Source/go
型号位置:
/home/me/Source/go/src/RevelApp/app/models
我如何导入模型包:
import (
."RevelApp/app/models"
"github.com/revel/revel"
"github.com/coopernurse/gorp"
"database/sql"
_ "github.com/go-sql-driver/mysql"
"fmt"
"strings"
)