質問編集履歴
1
ああああああああ
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,41 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
Rails初心者ながらに、コーディネートを組むアプリを作っております。
|
6
5
|
|
7
|
-
トップスの画像一覧、ボトムスの画像一覧、靴の画像一覧がそれぞれ並んでいて、ラジオボタンでその中から一つずつ選択し、選ばれた3つの画像情報をCollectionコントローラーで取得し、一つのコーディネートとして作成したいです。
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
@top, @trouser, @shoe といったインスタンスはそれぞれ
|
12
|
-
|
13
|
-
- top_image
|
14
|
-
|
15
|
-
- trouser_image
|
16
|
-
|
17
|
-
- shoe_image
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
の属性を持ち、CarrierWaveを使ってアップロードされた画像を保持しております。
|
22
|
-
|
23
|
-
CollectionsコントローラーからTopモデルの@tops、Trouserモデルの@trousers、Shoeモデルの@shoesを取得して、一覧表示しています。
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
Collectionコントローラーのnew.html.slimで、@tops, @trousers, @shoesをそれぞれ一覧表示し、ラジオボタンで選択されたそれぞれ一つずつのパラムから:top_image, :trouser_image, :shoe_image を取得し、@collectionインスタンスを作成したいです。
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
Collectionモデルも
|
32
|
-
|
33
|
-
- top_image
|
34
|
-
|
35
|
-
- trouser_image
|
36
|
-
|
37
|
-
- shoe_image
|
38
|
-
|
39
|
-
の3つのカラムを持っております。
|
40
6
|
|
41
7
|
|
42
8
|
|
@@ -44,115 +10,13 @@
|
|
44
10
|
|
45
11
|
### 該当のソースコード
|
46
12
|
|
47
|
-
こちらがCollectionコントローラーのnew.html.slimです。
|
48
13
|
|
49
|
-
```Ruby
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
= form_with model: @collection, url: collections_path , local: true do |f|
|
54
|
-
|
55
|
-
.form-check
|
56
|
-
|
57
|
-
- @tops.each do |top|
|
58
|
-
|
59
|
-
= image_tag "#{top.top_image.url}"
|
60
|
-
|
61
|
-
= label_tag :top_image
|
62
|
-
|
63
|
-
=f.radio_button :top_image, top.top_image , checked: false
|
64
|
-
|
65
|
-
.form-check
|
66
|
-
|
67
|
-
- @trousers.each do |trouser|
|
68
|
-
|
69
|
-
= image_tag "#{trouser.trouser_image.url}"
|
70
|
-
|
71
|
-
=f.label :trouser_image
|
72
|
-
|
73
|
-
=f.radio_button :trouser_image, trouser.trouser_image, checked: false
|
74
|
-
|
75
|
-
.form-check
|
76
|
-
|
77
|
-
- @shoes.each do |shoe|
|
78
|
-
|
79
|
-
= image_tag "#{shoe.shoe_image.url}"
|
80
|
-
|
81
|
-
=f.label :shoe_image
|
82
|
-
|
83
|
-
=f.radio_button :shoe_image, shoe.shoe_image, checked: false
|
84
|
-
|
85
|
-
=f.submit '登録', class: 'btn btn-primary'
|
86
|
-
|
87
|
-
```
|
88
|
-
|
89
|
-
こちらがコントローラー側の処理です。
|
90
|
-
|
91
|
-
```Ruby
|
92
|
-
|
93
|
-
class CollectionsController < ApplicationController
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
...
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
def new
|
102
|
-
|
103
|
-
@collection = Collection.new
|
104
|
-
|
105
|
-
@shoes = Shoe.all
|
106
|
-
|
107
|
-
@tops = Top.all
|
108
|
-
|
109
|
-
@trousers = Trouser.all
|
110
|
-
|
111
|
-
end
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
def create
|
116
|
-
|
117
|
-
@collection = Collection.new(collection_params)
|
118
|
-
|
119
|
-
if @colletion.save
|
120
|
-
|
121
|
-
flash.notice = 'コレクションを登録しました。'
|
122
|
-
|
123
|
-
redirect_to collections_path
|
124
|
-
|
125
|
-
else
|
126
|
-
|
127
|
-
render 'new'
|
128
|
-
|
129
|
-
end
|
130
|
-
|
131
|
-
end
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
private
|
136
|
-
|
137
|
-
def collection_params
|
138
|
-
|
139
|
-
params.require(:collection).permit(:top_image, :trouser_image, :shoe_image)
|
140
|
-
|
141
|
-
end
|
142
|
-
|
143
|
-
end
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
```
|
148
14
|
|
149
15
|
|
150
16
|
|
151
17
|
### 試したこと
|
152
18
|
|
153
19
|
|
154
|
-
|
155
|
-
radio_buttonの引数をいじってみたのですが、頭の中がこんがらがってしまい、うまく動作しません。
|
156
20
|
|
157
21
|
|
158
22
|
|
@@ -161,7 +25,3 @@
|
|
161
25
|
|
162
26
|
|
163
27
|
ここにより詳細な情報を記載してください。
|
164
|
-
|
165
|
-
Ruby - 2.6.3
|
166
|
-
|
167
|
-
Rails - 5.2.3
|