teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

8

2021/01/15 05:52

投稿

pecchan
pecchan

スコア592

title CHANGED
File without changes
body CHANGED
@@ -27,6 +27,8 @@
27
27
  ```ruby
28
28
  #Itemモデル
29
29
  class Item < ApplicationRecord
30
+   has_many :images, dependent: :destroy
31
+ accepts_nested_attributes_for :images, allow_destroy: true
30
32
  end
31
33
 
32
34
  #Imageモデル

7

2021/01/15 05:52

投稿

pecchan
pecchan

スコア592

title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,7 @@
2
2
  rails5.2で動作していたプログラム(画像の登録)をrails6に移行中です。
3
3
 
4
4
  ソースは変更なしの状態で、そのままrails6で動かすと画像登録はできるのですが、
5
- 親子の関連付けが無効(ディレクトリが親子関係なし)の状態で登録されました
5
+ 親子の関連付けが無効(ディレクトリが親子関係なし)の状態で登録されま
6
6
 
7
7
  rails5.2は、cloud9
8
8
  rails6は、Ubuntuになります。
@@ -130,7 +130,7 @@
130
130
 
131
131
  ### 追記
132
132
 
133
- まだ解決はしてないのですが、原因と思われる部分が分かりました。
133
+ まだ解決はしてないのですが関係してかもしれない部分が分かりました。
134
134
 
135
135
  new.html.erbで、子にあたる画像を以下のように出力してますが
136
136
  ```ruby

6

carrierwaveのバージョン追加

2021/01/15 05:37

投稿

pecchan
pecchan

スコア592

title CHANGED
File without changes
body CHANGED
@@ -6,9 +6,9 @@
6
6
 
7
7
  rails5.2は、cloud9
8
8
  rails6は、Ubuntuになります。
9
+ carrierwave (2.1.0)です。
9
10
 
10
11
 
11
-
12
12
  ### 発生している問題
13
13
  正しくは親ディレクトリにItem_id、その中に画像ファイルが保存されます。
14
14
  以下ですと「9」がItem_idです。

5

f.fields_forが関連してるかもしれないのでタイトルに追加

2021/01/15 05:35

投稿

pecchan
pecchan

スコア592

title CHANGED
@@ -1,1 +1,1 @@
1
- f.fields_forで出力されるhtmlがrails5と6で違う
1
+ 【carrierwave】f.fields_forで出力されるhtmlがrails5と6で違うせい?attributesが無効で登録される
body CHANGED
File without changes

4

h

2021/01/15 05:33

投稿

pecchan
pecchan

スコア592

title CHANGED
File without changes
body CHANGED
@@ -132,7 +132,7 @@
132
132
 
133
133
  まだ解決はしてないのですが、原因と思われる部分が分かりました。
134
134
 
135
- ビューで、子にあたる画像を以下のように出力してますが
135
+ new.html.erbで、子にあたる画像を以下のように出力してますが
136
136
  ```ruby
137
137
  <%= f.fields_for :images do |image| %>
138
138
  ```

3

タイトルを変更

2021/01/15 05:22

投稿

pecchan
pecchan

スコア592

title CHANGED
@@ -1,1 +1,1 @@
1
- 【CarrierWave】環境を移行したら、画像登録はるが「親子の関連付け」が無効になってしまった
1
+ f.fields_for出力されhtmlrails5と6で違う
body CHANGED
File without changes

2

調査して分かったことを追記

2021/01/15 05:21

投稿

pecchan
pecchan

スコア592

title CHANGED
File without changes
body CHANGED
@@ -125,4 +125,24 @@
125
125
  どこが怪しそうでしょうか?
126
126
 
127
127
  ここを調べたら?といったことでも構いません。
128
- 先輩方、アドバイス宜しくお願いします。
128
+ 先輩方、アドバイス宜しくお願いします。
129
+
130
+
131
+ ### 追記
132
+
133
+ まだ解決はしてないのですが、原因と思われる部分が分かりました。
134
+
135
+ ビューで、子にあたる画像を以下のように出力してますが
136
+ ```ruby
137
+ <%= f.fields_for :images do |image| %>
138
+ ```
139
+ この「f.fields_for」で出力されるhtmlがrails5と6で違ってました。
140
+
141
+ rails5.2
142
+ name="item[images_attributes][0][src][]"
143
+
144
+ rails6
145
+ name="item[item_images][src][]"
146
+
147
+ これが原因だと思いますが、ではどうすれば解消するのかまだ分かりません。
148
+ ドキュメントを見ましたがバージョンによる挙動の違いは見つけれませんでした。

1

2021/01/15 04:53

投稿

pecchan
pecchan

スコア592

title CHANGED
File without changes
body CHANGED
@@ -20,7 +20,7 @@
20
20
  画像ファイル自体は作成されており、
21
21
  **「親モデルのidディレクトリ」が作られて、その中に画像がない
22
22
  とい点だけが問題です。**
23
- ※画像ファイル名**も問題ありませんでした
23
+ ※画像ファイル名も問題ありませんでした
24
24
 
25
25
  ### 該当のソースコード
26
26
  ItemとImageを関連付けしてます。