質問編集履歴

1

調査したことを追記

2021/06/05 07:06

投稿

t_tanaka1859
t_tanaka1859

スコア0

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  今回、Railsを6.0.3.6から6.1.3.2にアップデートしたところ下記のような問題が発生しました。
4
4
 
5
- 原因や解決方法をご教示いただきたいです。
5
+ 同様の問題を見つけきれなかったため質問させていただきます。原因や解決方法をご教示いただきたいです。
6
6
 
7
7
 
8
8
 
@@ -118,8 +118,204 @@
118
118
 
119
119
 
120
120
 
121
+ ### 調査したこと
122
+
123
+ ActiveStorageの`6.0.3.6`と`6.1.3.2`の動作を比較したところ、以下のような違いがありました。
124
+
125
+ しかしこの原因まではたどり着けていません。
126
+
127
+
128
+
129
+ **↓の2箇所にデバッグコード」を追加**
130
+
131
+
132
+
133
+ ① `ActiveStorage::Variant`クラスのinitialize([ソースコード](https://github.com/rails/rails/blob/75ac626c4e21129d8296d4206a1960563cc3d4aa/activestorage/app/models/active_storage/variant.rb#L58))
134
+
135
+ ```
136
+
137
+ class ActiveStorage::Variant
138
+
139
+ 省略
140
+
141
+
142
+
143
+ def initialize(blob, variation_or_variation_key)
144
+
145
+ p '-----------------------------------------------------------------------------------------'
146
+
147
+ p 'blob'
148
+
149
+ p blob
150
+
151
+ p 'variation_or_variation_key'
152
+
153
+ p variation_or_variation_key
154
+
155
+ p '-----------------------------------------------------------------------------------------'
156
+
157
+
158
+
159
+ @blob, @variation = blob, ActiveStorage::Variation.wrap(variation_or_variation_key)
160
+
161
+ end
162
+
163
+
164
+
165
+ 省略
166
+
167
+ end
168
+
169
+ ```
170
+
171
+ ② `ActiveStorage::Variation`クラスの`encode`メソッド([ソースコード](https://github.com/rails/rails/blob/75ac626c4e21129d8296d4206a1960563cc3d4aa/activestorage/app/models/active_storage/variation.rb#L39))
172
+
173
+ ```
174
+
175
+ class ActiveStorage::Variation
176
+
177
+ attr_reader :transformations
178
+
179
+
180
+
181
+ class << self
182
+
183
+ 省略
184
+
185
+
186
+
187
+ def encode(transformations)
188
+
189
+ p '-----------------------------------------------------------------------------------------'
190
+
191
+ p transformations
192
+
193
+ p '-----------------------------------------------------------------------------------------'
194
+
195
+
196
+
197
+ ActiveStorage.verifier.generate(transformations, purpose: :variation)
198
+
199
+ end
200
+
201
+ end
202
+
203
+
204
+
205
+ 省略
206
+
207
+ end
208
+
209
+ ```
210
+
211
+
212
+
213
+ **provider_file_urlメソッドを実行**
214
+
215
+
216
+
217
+
218
+
219
+ ActiveStorage`6.0.3.6`
220
+
221
+ ```
222
+
223
+ "-----------------------------------------------------------------------------------------"
224
+
225
+ "blob"
226
+
227
+ #<ActiveStorage::Blob id: 999, key: "zvd2z2dafhrht3yy99l8w9zw54h7", filename: "sample.jpg", content_type: "image/jpeg", metadata: {"identified"=>true, "analyzed"=>true}, byte_size: 15789, checksum: "NwtXS6KRF1ty1WxXMicUew==", created_at: "2021-06-02 08:32:15">
228
+
229
+ "variation_or_variation_key"
230
+
231
+ {:resize_to_limit=>[500, 500]}
232
+
233
+ "-----------------------------------------------------------------------------------------"
234
+
235
+ ```
236
+
237
+ ActiveStorage`6.1.3.2`
238
+
239
+ ```
240
+
241
+ "-----------------------------------------------------------------------------------------"
242
+
243
+ "blob"
244
+
245
+ #<ActiveStorage::Blob id: 999, key: "zvd2z2dafhrht3yy99l8w9zw54h7", filename: "sample.jpg", content_type: "image/jpeg", metadata: {"identified"=>true, "analyzed"=>true}, byte_size: 15789, checksum: "NwtXS6KRF1ty1WxXMicUew==", created_at: "2021-06-02 17:32:15.000000000 +0900", service_name: "amazon">
246
+
247
+ "variation_or_variation_key"
248
+
249
+ #<ActiveStorage::Variation:0x00007fa2db230430 @transformations={:format=>"jpg", :resize_to_limit=>[500, 500]}>
250
+
251
+ "-----------------------------------------------------------------------------------------"
252
+
253
+ ```
254
+
255
+
256
+
257
+
258
+
259
+
260
+
261
+ ActiveStorage`6.0.3.6`
262
+
263
+ ```
264
+
265
+ "-----------------------------------------------------------------------------------------"
266
+
267
+ {:resize_to_limit=>[500, 500]}
268
+
269
+ "-----------------------------------------------------------------------------------------"
270
+
271
+ ```
272
+
273
+ ActiveStorage`6.1.3.2`
274
+
275
+ ```
276
+
277
+ "-----------------------------------------------------------------------------------------"
278
+
279
+ {:format=>"jpg", :resize_to_limit=>[500, 500]}
280
+
281
+ "-----------------------------------------------------------------------------------------"
282
+
283
+ ```
284
+
285
+ 試しに、encodeメソッドにformatキーを削除する処理を入れたところ、アップデート前と同様のURLが生成されるようになりました。
286
+
287
+
288
+
289
+
290
+
121
291
  ### システム構成
122
292
 
293
+ #### アップデート前
294
+
295
+ **Rails**: 6.0.3.6
296
+
297
+ **Ruby**: 2.6.6
298
+
299
+ **Gemfile.lock**
300
+
301
+ ```
302
+
303
+ activestorage (6.0.3.6)
304
+
305
+ actionpack (= 6.0.3.6)
306
+
307
+ activejob (= 6.0.3.6)
308
+
309
+ activerecord (= 6.0.3.6)
310
+
311
+ marcel (~> 1.0.0)
312
+
313
+ ```
314
+
315
+
316
+
317
+ #### アップデート後
318
+
123
319
  **Rails**: 6.1.3.2
124
320
 
125
321
  **Ruby**: 2.6.6