質問編集履歴
2
誤字の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,13 +12,15 @@
|
|
12
12
|
platform_typeの値として"1"と"2"を送信することが出来ています。
|
13
13
|
|
14
14
|
実現したい処理としましては、
|
15
|
-
> ①チェックされている項目では、INSERT時にplatform_typeの値
|
15
|
+
> ①チェックされている項目では、INSERT時にplatform_typeの値を挿入
|
16
|
-
> チェックされていない項目ではDELETE
|
16
|
+
> ②チェックされていない項目ではDELETE
|
17
|
+
|
17
18
|
となります。
|
18
19
|
|
19
20
|
現在は
|
20
21
|
> ①チェックされている項目では、INSERT時にplatform_typeの値が空
|
21
|
-
> チェックされていない項目ではplatform_typeの値が挿入され、DELETEされない
|
22
|
+
> ②チェックされていない項目ではplatform_typeの値が挿入され、DELETEされない
|
23
|
+
|
22
24
|
といった状況です。
|
23
25
|
|
24
26
|
こちらの解決策をご存じの方がいらっしゃいましたら、
|
1
記述の変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,23 +1,34 @@
|
|
1
1
|
全く同じ内容のチェックボックス郡を画面上に2つ用意し、
|
2
|
-
どちらもuser_platformsという中間テーブルにデータを挿入する処理を考えております。
|
2
|
+
どちらもuser_platformsという中間テーブルにデータを挿入する処理を考えております。
|
3
3
|
|
4
4
|
1つ目のチェックボックス郡で選択された値は、
|
5
|
-
|
5
|
+
platform_type => "1"
|
6
6
|
2つ目のチェックボックス郡で選択された値は、
|
7
|
-
|
7
|
+
platform_type => "2"
|
8
8
|
|
9
9
|
といったようにuser_platformsに登録する値を変更したいです。
|
10
10
|
|
11
|
-
現在
|
11
|
+
現在はビューにhiddenのフォームを用意することで、
|
12
|
-
|
12
|
+
platform_typeの値として"1"と"2"を送信することが出来ています。
|
13
13
|
|
14
|
-
これよりも簡単に実装できる方法などがございましたら、
|
15
|
-
|
14
|
+
実現したい処理としましては、
|
15
|
+
> ①チェックされている項目では、INSERT時にplatform_typeの値が挿入
|
16
|
+
> チェックされていない項目ではDELETE
|
17
|
+
となります。
|
16
18
|
|
19
|
+
現在は
|
20
|
+
> ①チェックされている項目では、INSERT時にplatform_typeの値が空
|
21
|
+
> チェックされていない項目ではplatform_typeの値が挿入され、DELETEされない
|
22
|
+
といった状況です。
|
23
|
+
|
24
|
+
こちらの解決策をご存じの方がいらっしゃいましたら、
|
25
|
+
ご教授いただけると幸いです。
|
26
|
+
|
27
|
+
|
17
28
|
■テーブル
|
18
29
|
> users(id, name)
|
19
30
|
> platforms(id, name)
|
20
|
-
> user_platforms(id, user_id, platform_id,
|
31
|
+
> user_platforms(id, user_id, platform_id, platform_type )
|
21
32
|
|
22
33
|
|
23
34
|
■コントローラー
|
@@ -26,7 +37,7 @@
|
|
26
37
|
@user = current_user
|
27
38
|
end
|
28
39
|
|
29
|
-
params.require(:user).permit(:name, platform_ids: [])
|
40
|
+
params.require(:user).permit(:name, platform_ids: [], :user_platforms_attributes => [:platform_type])
|
30
41
|
```
|
31
42
|
|
32
43
|
■モデル
|
@@ -72,10 +83,13 @@
|
|
72
83
|
= f.label :platform_ids, "メインプラットフォーム", class: "control-label"
|
73
84
|
%p
|
74
85
|
= f.collection_check_boxes :platform_ids, Platform.all, :id, :name
|
86
|
+
=f.fields_for :user_platforms do |upf1|
|
87
|
+
=upf1.hidden_field :platform_type, :value => "1"
|
75
88
|
.form-group
|
76
89
|
= f.label :platform_ids, "サブプラットフォーム", class: "control-label"
|
77
90
|
%p
|
78
91
|
= f.collection_check_boxes :platform_ids, Platform.all, :id, :name
|
79
|
-
|
92
|
+
=f.fields_for :user_platforms do |upf2|
|
93
|
+
=upf2.hidden_field :platform_type, :value => "1"
|
80
94
|
= f.submit "送信する", class: "btn btn-success"
|
81
95
|
```
|