Martini をいじっていますが、何らかの理由で contrib バインディング パッケージを動作させることができません。
構造体に値がバインドされていません。コードを最も単純な形式に縮小しましたが、それでも機能しません。
誰かが私が間違っていることを見ることができますか?
package main
import (
"github.com/go-martini/martini"
"github.com/martini-contrib/binding"
"net/http"
)
var html string = `<form method="POST" enctype="application/x-www-form-urlencoded"><input name="un" type="text" /><input type="submit" value="Some button" /></form>`
type FormViewModel struct {
Username string `form: "un"`
}
func main() {
m := martini.Classic()
m.Get("/", func(w http.ResponseWriter) {
w.Header().Add("content-type", "text/html")
w.Write([]byte(html))
})
m.Post("/", binding.Form(FormViewModel{}), func(vm FormViewModel) string {
return "You entered: " + vm.Username
})
m.Run()
}