質問編集履歴

5

rb追記

2023/02/02 03:38

投稿

akikko
akikko

スコア32

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  ### 発生している問題・エラーメッセージ
16
16
 
17
- ```
17
+ ```rb
18
18
  ActiveRecord::RecordInvalid in EventsController#update
19
19
  バリデーションに失敗しました: Image画像変換に失敗しました。別のファイルを使用してください。
20
20
  ※ja.ymlを使用しない場合

4

gemの詳細の記載がございませんでしたため、gemfileとgemfile.lockを追記いたしました。

2023/02/02 03:24

投稿

akikko
akikko

スコア32

test CHANGED
File without changes
test CHANGED
@@ -59,8 +59,7 @@
59
59
  image uploader
60
60
  ```rb
61
61
  class ImageUploader < CarrierWave::Uploader::Base
62
- # Include RMagick or MiniMagick support:
62
+
63
- # include CarrierWave::RMagick
64
63
  include CarrierWave::MiniMagick
65
64
 
66
65
  # Choose what kind of storage to use for this uploader:
@@ -74,29 +73,13 @@
74
73
 
75
74
  #storage :fog
76
75
 
77
- # Override the directory where uploaded files will be stored.
78
76
  # This is a sensible default for uploaders that are meant to be mounted:
79
77
  def store_dir
80
78
  "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
81
79
  end
82
80
 
83
- # Provide a default URL as a default if there hasn't been a file uploaded:
84
- def default_url(*args)
85
- # # For Rails 3.1+ asset pipeline compatibility:
86
- # # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
87
- "default.png"
88
- # "/images/fallback/" + [version_name, "default.png"].compact.join('_')
89
- end
90
-
91
81
  # Process files as they are uploaded:
92
82
  process resize_to_fit: [700, nil]
93
- # process scale: [200, 300]
94
- #
95
- # def scale(width, height)
96
- # # do something
97
- # end
98
-
99
- # Create different versions of your uploaded files:
100
83
 
101
84
  #イベント画像
102
85
  version :thumb do
@@ -104,21 +87,11 @@
104
87
  end
105
88
 
106
89
  #ユーザープロフィール写真
107
- #version :thumb_user do
90
+
108
- # process resize_to_limit: [400, 400]
109
- #end
110
-
111
- # Add a white list of extensions which are allowed to be uploaded.
112
- # For images you might use something like this:
113
91
  def extension_allowlist
114
92
  %w(jpg jpeg png)
115
93
  end
116
94
 
117
- # Override the filename of the uploaded files:
118
- # Avoid using model.id or version_name here, see uploader/store.rb for details.
119
- # def filename
120
- # "something.jpg" if original_filename
121
- # end
122
95
  end
123
96
 
124
97
  ```
@@ -129,6 +102,177 @@
129
102
  mount_uploader :image, ImageUploader
130
103
  end
131
104
  ```
105
+
106
+ ### 該当のソースコードgem
107
+ gemfile
108
+ ```rb
109
+ source 'https://rubygems.org'
110
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
111
+
112
+ ruby '2.7.7'
113
+
114
+ # Rails
115
+ gem 'rails', '~> 6.0'
116
+ gem 'rails-i18n'
117
+ gem 'listen'
118
+
119
+ #serch method用(eventsの検索)
120
+ gem 'ransack'
121
+
122
+ #sidekiq 非同期処理
123
+ gem 'sidekiq','~> 5.2.8'
124
+ gem 'sinatra', require: false # ダッシュボードのため
125
+ gem 'sidekiq-history'
126
+
127
+ #並列処理
128
+ gem 'parallel'
129
+
130
+ #gem 'redis-actionpack'
131
+ gem 'redis-namespace'
132
+ #gem 'redis-rails' #windows Rails_junbiインストール済み
133
+
134
+ #docker-compose up で必要
135
+ gem 'autoprefixer-rails'
136
+
137
+ #ページネーション
138
+ gem 'kaminari'
139
+
140
+ #IPアドレス制限、Dos攻撃
141
+ gem 'rack-attack'
142
+
143
+ #PDF作成
144
+ gem 'prawn'
145
+ gem 'prawn-table'
146
+
147
+
148
+ # データが見やすいようにする
149
+ gem 'hirb'
150
+ gem 'hirb-unicode'
151
+
152
+
153
+ # devise
154
+ gem 'devise'
155
+ gem 'devise-i18n'
156
+ gem 'devise-i18n-views'
157
+
158
+ #画像アップロード
159
+ gem 'carrierwave', '~>2.0'
160
+ gem 'mini_magick'
161
+ gem 'mimemagic', '~> 0.3.6'
162
+ gem 'image_processing', '~> 1.2'
163
+
164
+ # Bootstrap
165
+ #gem 'bootstrap-sass'
166
+ gem 'bootstrap', '~> 4.6.0'
167
+ gem 'jquery-rails'
168
+ gem 'devise-bootstrap-views'
169
+
170
+ # リッチテキストフォーム
171
+ gem 'summernote-rails', '~> 0.8.12.0'
172
+ gem 'simple_form'
173
+
174
+ #stripe
175
+ gem 'stripe'
176
+
177
+ #javascriptのデータ受け渡しgem
178
+ gem 'gon'
179
+
180
+ #gem 'jquery-turbolinks', '~> 2.1'
181
+ gem 'jquery-turbolinks', '~> 2.1'
182
+
183
+ #nokogiri エラー回避にダウンロード
184
+ gem 'nokogiri', '~> 1.11.0.rc1'
185
+
186
+ # Use Puma as the app server
187
+ gem 'puma'
188
+
189
+ # Puma memory kill
190
+ gem 'puma_worker_killer'
191
+
192
+ # Use SCSS for stylesheets
193
+ gem 'sass-rails'
194
+ # Use Uglifier as compressor for JavaScript assets
195
+ gem 'uglifier', '>= 1.3.0'
196
+
197
+ # Use CoffeeScript for .coffee assets and views
198
+ gem 'coffee-rails'
199
+ # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
200
+ gem 'turbolinks', '~> 5'
201
+ # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
202
+ gem 'jbuilder'
203
+ # Use Redis adapter to run Action Cable in production
204
+ # gem 'redis', '~> 4.0'
205
+ # Use ActiveModel has_secure_password
206
+ gem 'bcrypt', '~> 3.1.7'
207
+ # Use ActiveStorage variant
208
+ # gem 'mini_magick', '~> 4.8'
209
+
210
+ # Use Capistrano for deployment
211
+ # gem 'capistrano-rails', group: :development
212
+
213
+ # Reduces boot times through caching; required in config/boot.rb
214
+ gem 'bootsnap', '>= 1.1.0', require: false
215
+
216
+ group :development, :test do
217
+ # Call 'byebug' anywhere in the code to stop execution and get a debugger console
218
+ gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
219
+ end
220
+
221
+ group :development do
222
+ # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
223
+ gem 'web-console', '>= 3.3.0'
224
+
225
+ # Use sqlite3 as the database for Active Record
226
+ gem 'sqlite3'
227
+
228
+ #csv import
229
+ gem 'activerecord-import'
230
+
231
+ #N+1 test
232
+ gem 'bullet'
233
+
234
+ gem 'letter_opener_web'
235
+ gem 'sys-proctable'
236
+ gem 'rspec-rails'
237
+ gem "ffi"
238
+
239
+ end
240
+
241
+ group :test do
242
+ # Adds support for Capybara system testing and selenium driver
243
+ gem 'capybara', '>= 2.15'
244
+ gem 'selenium-webdriver'
245
+ #chromedriver-helperの代わり
246
+ gem 'webdrivers'
247
+ gem 'rspec-rails'
248
+ gem "ffi"
249
+
250
+ end
251
+
252
+ group :staging do
253
+ gem 'pg'
254
+ gem 'fog-aws'
255
+ gem 'rails_12factor'
256
+ gem 'rspec-rails'
257
+ end
258
+
259
+ group :production do
260
+ gem 'pg'
261
+ gem 'fog-aws'
262
+ gem 'rails_12factor'
263
+ end
264
+
265
+ # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
266
+ gem 'tzinfo-data'
267
+
268
+ gem 'exception_notification'
269
+ gem 'exception_notification-rake'
270
+ gem 'slack-notifier'
271
+ gem 'dotenv-rails'
272
+ ```
273
+
274
+
275
+
132
276
  ### 該当のソースコードdocker関連
133
277
 
134
278
  Dockerfile

3

ソースコード言語追加

2023/02/02 03:11

投稿

akikko
akikko

スコア32

test CHANGED
File without changes
test CHANGED
@@ -132,7 +132,7 @@
132
132
  ### 該当のソースコードdocker関連
133
133
 
134
134
  Dockerfile
135
- ```
135
+ ```rb
136
136
  FROM alpine:3.13
137
137
  FROM node:18-alpine as node
138
138
  FROM ruby:2.7.7-alpine
@@ -156,7 +156,7 @@
156
156
  ```
157
157
 
158
158
  docker-compose.yml
159
- ```ここに言語を入力
159
+ ```rb
160
160
  version: "3"
161
161
  services:
162
162
  # --------------------------------------------------------------------------------

2

ご質問への回答を追記いたしました。

2023/02/02 03:10

投稿

akikko
akikko

スコア32

test CHANGED
File without changes
test CHANGED
@@ -7,7 +7,8 @@
7
7
 
8
8
  - [ ] 今までは問題なく実装できており、アップロードが出来ていました。
9
9
  rails5.2系→6.1にアップグレードしたところ、アップロードがされなくなりました。
10
+ 尚、全く同じ条件(githubを使用し、gemfilelockで共有が出来ている状態)で、
10
- 尚、全く同じ条件でローカルマシンでサーバーを立ち上げたテスト(localhost:3000)で試したところ、問題なくアップロードできるため、
11
+ ローカルマシンでサーバーを立ち上げたテスト(localhost:3000)で試したところ、問題なくアップロードできるため、
11
12
  dockerの条件に問題があるのではと考えております。
12
13
 
13
14
 
@@ -16,6 +17,10 @@
16
17
  ```
17
18
  ActiveRecord::RecordInvalid in EventsController#update
18
19
  バリデーションに失敗しました: Image画像変換に失敗しました。別のファイルを使用してください。
20
+ ※ja.ymlを使用しない場合
21
+ ActiveRecord::RecordInvalid in EventsController#update
22
+ バリデーションに失敗しました:
23
+ Imagetranslation missing: ja.errors.messages.mini_magick_processing_error:
19
24
  ```
20
25
  通常、画像のupdateを行うとエラーが発生せず、update!と、意図的にエラーを起こすと上記が表示されます。
21
26
  それ以外は、エラーがlogに出ず、rollbackされております。
@@ -23,7 +28,7 @@
23
28
  ### 該当のソースコード
24
29
 
25
30
  view
26
- ```ここに言語名を入力
31
+ ```rb
27
32
  <%= image_tag "/assets/default.png", class: "img-fluid top-img-mobile" %>
28
33
  <div class="field">
29
34
  <br>
@@ -43,7 +48,7 @@
43
48
  ```
44
49
 
45
50
  contoroller
46
- ```ここに言語を入力
51
+ ```rb
47
52
  @event.update(
48
53
  image: params[:event][:image]
49
54
  )
@@ -52,7 +57,7 @@
52
57
  ```
53
58
 
54
59
  image uploader
55
- ```ここに言語を入力
60
+ ```rb
56
61
  class ImageUploader < CarrierWave::Uploader::Base
57
62
  # Include RMagick or MiniMagick support:
58
63
  # include CarrierWave::RMagick
@@ -119,15 +124,84 @@
119
124
  ```
120
125
 
121
126
  model
122
- ```ここに言語を入力
127
+ ```rb
123
128
  class UploadedImage < ApplicationRecord
124
129
  mount_uploader :image, ImageUploader
125
130
  end
126
131
  ```
127
-
132
+ ### 該当のソースコードdocker関連
133
+
134
+ Dockerfile
135
+ ```
136
+ FROM alpine:3.13
137
+ FROM node:18-alpine as node
138
+ FROM ruby:2.7.7-alpine
139
+ COPY --from=node /usr/local/bin/node /usr/local/bin/node
140
+ RUN apk update \
141
+ && apk add --no-cache build-base make g++ sqlite-dev postgresql postgresql-dev imagemagick6 imagemagick6-dev imagemagick6-c++ \
142
+ && gem install nokogiri \
143
+ && mkdir /app
144
+ WORKDIR /app
145
+ COPY ./Gemfile /app/Gemfile
146
+ COPY ./Gemfile.lock /app/Gemfile.lock
147
+ RUN bundle install
148
+ COPY ./ /app
149
+
150
+ COPY ./docker/web/entrypoint.sh /usr/bin/
151
+ RUN chmod +x /usr/bin/entrypoint.sh
152
+ ENTRYPOINT ["entrypoint.sh"]
153
+ EXPOSE 8000
154
+
155
+ CMD ["rails", "server", "-b", "0.0.0.0"]
156
+ ```
157
+
158
+ docker-compose.yml
159
+ ```ここに言語を入力
160
+ version: "3"
161
+ services:
162
+ # --------------------------------------------------------------------------------
163
+ # Web Server
164
+ # --------------------------------------------------------------------------------
165
+ web: &web
166
+ build:
167
+ context: .
168
+ dockerfile: docker/web/Dockerfile
169
+ command: sh -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 80 -b '0.0.0.0' -e development"
170
+ ports:
171
+ - 80:80
172
+ volumes:
173
+ - bundle_install:/usr/local/bundle
174
+ - "./:/app"
175
+ # 1. exclude volumes
176
+ - /app/.git
177
+ - /app/.github
178
+ - /app/.idea
179
+ - /app/log
180
+ - /app/tmp
181
+ - /app/vendor
182
+ stdin_open: true
183
+ tty: true
184
+ environment:
185
+ TZ: Asia/Tokyo
186
+ # --------------------------------------------------------------------------------
187
+ # Web Server
188
+ # --------------------------------------------------------------------------------
189
+ redis:
190
+ image: "redis:latest"
191
+ ports:
192
+ - "6379:6379"
193
+ volumes:
194
+ - "./data/redis:/data"
195
+ volumes:
196
+ mysql-data:
197
+ driver: local
198
+ bundle_install:
199
+
200
+ ```
128
201
 
129
202
  ### 試したこと
130
203
  Active strageの導入
204
+ https://qiita.com/asami___t/items/1aa2022ed9c511d4232c
131
205
  [https://qiita.com/asami___t/items/1aa2022ed9c511d4232c](url)
132
206
 
133
207
  ### 補足情報(FW/ツールのバージョンなど)

1

エラーの追記

2023/01/31 12:09

投稿

akikko
akikko

スコア32

test CHANGED
File without changes
test CHANGED
@@ -17,7 +17,8 @@
17
17
  ActiveRecord::RecordInvalid in EventsController#update
18
18
  バリデーションに失敗しました: Image画像変換に失敗しました。別のファイルを使用してください。
19
19
  ```
20
- 通常、画像のupdateを行うとエラーが発生せず
20
+ 通常、画像のupdateを行うとエラーが発生せず、update!と、意図的にエラーを起こすと上記が表示されます。
21
+ それ以外は、エラーがlogに出ず、rollbackされております。
21
22
 
22
23
  ### 該当のソースコード
23
24