2016-04-25 7 views
1

中のMgOを使用してデータベースにフォームデータを挿入できません:は私が行き新たなんだとユーザーオブジェクトを作成しようとジンのフレームワークを使用してジン

const (
    // CollectionArticle holds the name of the users collection 
    CollectionUser = "users" 
) 


// User table contains the information for each user 
type User struct { 
    ID bson.ObjectId `json:"_id,omitempty" bson:"_id,omitempty"` 
    Username string  `json:"username" bson:"username"` 
    Email  string  `json:"email" bson:"email"` 
    Password string  `json:"password" bson:"password"` 
    StatusID uint8   `json:"status_id" bson:"status_id"` 
    CreatedAt time.Time  `json:"created_at" bson:"created_at"` 
    UpdatedAt time.Time  `json:"updated_at" bson:"updated_at"` 
    Deleted uint8   `json:"deleted" bson:"deleted"` 
} 

これは、ユーザー

​​ を作成するためのコントローラであり、

と登録フォームがある:私が手の端末で

<form action="/user/create" method="POST"> 


    <div class="form-group"> 
     <label for="username">Username</label> 
     <input type="text" name="username" class="form-control" id="username" placeholder="Enter the username of the user" > 
    </div> 

    <div class="form-group"> 
     <label for="email">Email</label> 
     <input name="email" class="form-control" placeholder="Enter user email" /> 
    </div> 

    <div class="form-group"> 
    <label for="password">Password</label> 
     <input type="password" name="password" class="form-control" placeholder="Password" required> 
    </div> 

    <button type="submit" class="btn btn-default">Submit</button> 

    </form> 

[GIN-debug] Listening and serving HTTP on :7000 
[GIN] 2016/04/25 - 06:30:04 | 200 |  549.499µs | 127.0.0.1 | GET  /register 
request body is: username=bob&email=bob%40me.com&password=1234 
user is: {ObjectIdHex("") 0 0001-01-01 00:00:00 +0000 UTC 0001-01-01 00:00:00 +0000 UTC 0} 
username is: and emails is 

usernameのように、emailpasswordのフィールド値がコントローラに渡されます。 mongoデータベースのusersコレクションをチェックすると、オブジェクトが作成されていますが、フォームから送信されたフィールドは空であることがわかります。 なぜこのようなことが起こるかわからなかったので、あなたのヒントを感謝します。

答えて

2

ジン文書によると、フィールドに構造体タグformが必要です。 like:

User  string `form:"user" binding:"required"` 
Password string `form:"password" binding:"required"` 
+0

チップをありがとう。構造体に 'form:" username "などを追加しましたが、新しいオブジェクトのフィールドは空のままデータベースに保存されます。 – Karlom

+0

考えてもらえません。また、ジン形式のパーサコードを追跡している可能性もあります。 –

関連する問題