質問編集履歴

4

ソースコードが間違っていたため

2019/09/06 06:49

投稿

profit3003
profit3003

スコア4

test CHANGED
File without changes
test CHANGED
@@ -66,7 +66,7 @@
66
66
 
67
67
  年齢:<input type="text" name="age">
68
68
 
69
- <input type="submit>
69
+ <input type="submit">
70
70
 
71
71
  </form>
72
72
 

3

ソースコードが間違っていたため

2019/09/06 06:49

投稿

profit3003
profit3003

スコア4

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  ```go
14
14
 
15
- router.GET("/updUser", UpdUser)
15
+ router.POST("/updUser", UpdUser)
16
16
 
17
17
 
18
18
 

2

表現が分かりにくいと思った為、修正しました

2019/09/06 06:40

投稿

profit3003
profit3003

スコア4

test CHANGED
@@ -1 +1 @@
1
- gormで更新するフィールドを動的に変更させたい
1
+ POSTで渡した情報をgormで更新させたい
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  POSTで渡ったフォームの入力値をDBに更新したいですが、以下のUpdatesを使用した場合では、フィールドがintの値が0で更新されてしまいます。
6
6
 
7
- 以下のHTML例の名前・年齢以外のフィールドに対してもupdUserにPOSTして更新させたいのですが、どのように変更すればよいのでしょうか。
7
+ 以下のHTML例の名前・年齢以外のに対してもupdUserにPOSTしてDBを更新させたいのですが、どのように変更すればよいのでしょうか。
8
8
 
9
9
  お知恵をお貸し頂けるとありがたいです。
10
10
 
@@ -34,7 +34,7 @@
34
34
 
35
35
 
36
36
 
37
- db.Engine.Debug().Model(&User{}).Where("id = ?", 1).Updates(attrs)
37
+ db.Model(&User{}).Where("id = ?", 1).Updates(attrs)
38
38
 
39
39
  }
40
40
 

1

一度目の登録を誤った為

2019/09/06 06:31

投稿

profit3003
profit3003

スコア4

test CHANGED
File without changes
test CHANGED
@@ -1,53 +1,73 @@
1
- ### 前提・実現こと
1
+ Ginを用いてWebアプリケーションを作成ます。ORMはgormを使用しています。
2
2
 
3
3
 
4
4
 
5
- (例)PHP(CakePHP)●●なシステムを作っています。
5
+ POSTで渡ったフォームの入力値をDBに更新したいですが、以下のUpdatesを使用した場合は、フィールドがintの値が0で更新されしまいます。
6
6
 
7
+ 以下のHTML例の名前・年齢以外のフィールドに対してもupdUserにPOSTして更新させたいのですが、どのように変更すればよいのでしょうか。
8
+
7
- ■■な機能実装中に以下のエラーメッセージ発生しました。
9
+ お知恵お貸し頂けるとありがたいです
8
10
 
9
11
 
10
12
 
11
- Ginを用いてWebアプリケーションを作成しています。
13
+ ```go
12
14
 
15
+ router.GET("/updUser", UpdUser)
16
+
17
+
18
+
19
+ func (d *SettingController) UpdUser(ctx *gin.Context) {
20
+
13
- 入力フォームからPOSTで渡った値を更新
21
+ ctx.Request.ParseForm()
22
+
23
+ postForm := ctx.Request.PostForm
14
24
 
15
25
 
16
26
 
27
+ attrs := make(map[string]interface{}, len(postForm))
28
+
17
- ### 発生している問題・エラーメッセージ
29
+ for k, v := range postForm {
30
+
31
+ attrs[k] = strings.Join(v, "")
32
+
33
+ }
18
34
 
19
35
 
20
36
 
21
- ```
37
+ db.Engine.Debug().Model(&User{}).Where("id = ?", 1).Updates(attrs)
22
38
 
23
- エラーメッセージ
39
+ }
24
40
 
25
41
  ```
26
42
 
43
+ ```go
27
44
 
45
+ type User struct {
28
46
 
29
- ### 該当のソースコード
47
+ ID int
30
48
 
49
+ Name string
31
50
 
51
+ Age int
32
52
 
33
- ```ここに言語名を入力
53
+ Email string
34
54
 
35
- ソースコード
55
+
56
+
57
+ }
36
58
 
37
59
  ```
38
60
 
61
+ ```HTML
39
62
 
63
+ <form method="post" action="/updUser">
40
64
 
41
- ### 試したこと
65
+ 名前:<input type="text" name="name">
42
66
 
67
+ 年齢:<input type="text" name="age">
43
68
 
69
+ <input type="submit>
44
70
 
45
- ここに問題に対して試したことを記載してください。
71
+ </form>
46
72
 
47
-
48
-
49
- ### 補足情報(FW/ツールのバージョンなど)
50
-
51
-
52
-
53
- ここにより詳細な情報を記載してください。
73
+ ```