質問編集履歴
1
ああああああああ
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,84 +1,14 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
-
Rails初心者ながらに、コーディネートを組むアプリを作っております。
|
4
|
-
トップスの画像一覧、ボトムスの画像一覧、靴の画像一覧がそれぞれ並んでいて、ラジオボタンでその中から一つずつ選択し、選ばれた3つの画像情報をCollectionコントローラーで取得し、一つのコーディネートとして作成したいです。
|
5
3
|
|
6
|
-
@top, @trouser, @shoe といったインスタンスはそれぞれ
|
7
|
-
- top_image
|
8
|
-
- trouser_image
|
9
|
-
- shoe_image
|
10
4
|
|
11
|
-
の属性を持ち、CarrierWaveを使ってアップロードされた画像を保持しております。
|
12
|
-
CollectionsコントローラーからTopモデルの@tops、Trouserモデルの@trousers、Shoeモデルの@shoesを取得して、一覧表示しています。
|
13
5
|
|
14
|
-
Collectionコントローラーのnew.html.slimで、@tops, @trousers, @shoesをそれぞれ一覧表示し、ラジオボタンで選択されたそれぞれ一つずつのパラムから:top_image, :trouser_image, :shoe_image を取得し、@collectionインスタンスを作成したいです。
|
15
|
-
|
16
|
-
Collectionモデルも
|
17
|
-
- top_image
|
18
|
-
- trouser_image
|
19
|
-
- shoe_image
|
20
|
-
の3つのカラムを持っております。
|
21
|
-
|
22
|
-
|
23
6
|
### 該当のソースコード
|
24
|
-
こちらがCollectionコントローラーのnew.html.slimです。
|
25
|
-
```Ruby
|
26
7
|
|
27
|
-
= form_with model: @collection, url: collections_path , local: true do |f|
|
28
|
-
.form-check
|
29
|
-
- @tops.each do |top|
|
30
|
-
= image_tag "#{top.top_image.url}"
|
31
|
-
= label_tag :top_image
|
32
|
-
=f.radio_button :top_image, top.top_image , checked: false
|
33
|
-
.form-check
|
34
|
-
- @trousers.each do |trouser|
|
35
|
-
= image_tag "#{trouser.trouser_image.url}"
|
36
|
-
=f.label :trouser_image
|
37
|
-
=f.radio_button :trouser_image, trouser.trouser_image, checked: false
|
38
|
-
.form-check
|
39
|
-
- @shoes.each do |shoe|
|
40
|
-
= image_tag "#{shoe.shoe_image.url}"
|
41
|
-
=f.label :shoe_image
|
42
|
-
=f.radio_button :shoe_image, shoe.shoe_image, checked: false
|
43
|
-
=f.submit '登録', class: 'btn btn-primary'
|
44
|
-
```
|
45
|
-
こちらがコントローラー側の処理です。
|
46
|
-
```Ruby
|
47
|
-
class CollectionsController < ApplicationController
|
48
8
|
|
49
|
-
...
|
50
|
-
|
51
|
-
def new
|
52
|
-
@collection = Collection.new
|
53
|
-
@shoes = Shoe.all
|
54
|
-
@tops = Top.all
|
55
|
-
@trousers = Trouser.all
|
56
|
-
end
|
57
|
-
|
58
|
-
def create
|
59
|
-
@collection = Collection.new(collection_params)
|
60
|
-
if @colletion.save
|
61
|
-
flash.notice = 'コレクションを登録しました。'
|
62
|
-
redirect_to collections_path
|
63
|
-
else
|
64
|
-
render 'new'
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
private
|
69
|
-
def collection_params
|
70
|
-
params.require(:collection).permit(:top_image, :trouser_image, :shoe_image)
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
```
|
75
|
-
|
76
9
|
### 試したこと
|
77
10
|
|
78
|
-
radio_buttonの引数をいじってみたのですが、頭の中がこんがらがってしまい、うまく動作しません。
|
79
11
|
|
80
12
|
### 補足情報(FW/ツールのバージョンなど)
|
81
13
|
|
82
|
-
ここにより詳細な情報を記載してください。
|
14
|
+
ここにより詳細な情報を記載してください。
|
83
|
-
Ruby - 2.6.3
|
84
|
-
Rails - 5.2.3
|