【发布时间】:2015-02-11 20:16:09
【问题描述】:
这是一个先有鸡还是先有蛋的问题。
在 HTML 模板中,表单,bson.ObjectId 需要用{{mytype.Id.Hex()}} 渲染
例如
<form method="post">
<input name="id" value="{{mytype.Id.Hex()}}>
</form>
在 Go 中定义应该由 gorilla/schema 解析的结构时
type MyType struct {
Id bson.ObjectId `bson:"_id,omitempty" schema:"id"`
}
当您调用(来自模式)decoder.Decode(instance_of_mytype, r.PostForm)
它“抛出”一个错误:schema: invalid path "id",因为格式只是 bson.ObjectId 的字符串表示,而不是实际的 bson.ObjectId。
我想知道除了手动填写字段 (r.FormValue()) 之外我还能做什么。
我应该使用 gorilla/schema 或 mgo 来创建问题,还是应该手动进行?
【问题讨论】: