起きている現象
CarrierWave+MiniMagickを導入して投稿した画像をリサイズしようとしたのですが、画像
の投稿ができなくなってしまいました。
エラーが出るわけではなく、投稿が失敗して自分で設定した投稿失敗のメッセージが出てきます。
下記のコードの「process resize_to_fill: [700, 700, "Center"]」の部分を消すと投稿ができるようになります(当然画像のリサイズはできません)
何故なのでしょうか。もしご教示いただけましたら幸いです。
image_uploader.rb
Ruby
1class ImageUploader < CarrierWave::Uploader::Base 2 include CarrierWave::MiniMagick 3 # Include RMagick or MiniMagick support: 4 # include CarrierWave::RMagick 5 if Rails.env.production? 6 include Cloudinary::CarrierWave 7 else 8 storage :file 9 end 10 11 # Choose what kind of storage to use for this uploader: 12 storage :file 13 # storage :fog 14 15 # Override the directory where uploaded files will be stored. 16 # This is a sensible default for uploaders that are meant to be mounted: 17 def store_dir 18 "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 19 end 20 def default_url(*args) 21 ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_')) 22 end 23 #この部分がアップロードした写真を設定できるようにする記述とデフォルトの写真を設定している記述 24 25 # Provide a default URL as a default if there hasn't been a file uploaded: 26 # def default_url(*args) 27 # # For Rails 3.1+ asset pipeline compatibility: 28 # # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_')) 29 # 30 # "/images/fallback/" + [version_name, "default.png"].compact.join('_') 31 # end 32 33 # Process files as they are uploaded: 34 # process scale: [200, 300] 35 # 36 # def scale(width, height) 37 # # do something 38 # end 39 40 # Create different versions of your uploaded files: 41 # version :thumb do 42 # process resize_to_fit: [50, 50] 43 # end 44 45 # Add a white list of extensions which are allowed to be uploaded. 46 # For images you might use something like this: 47 def extension_whitelist 48 %w(jpg jpeg gif png) 49 end 50 51 # Override the filename of the uploaded files: 52 # Avoid using model.id or version_name here, see uploader/store.rb for details. 53 # def filename 54 # "something.jpg" if original_filename 55 # end 56 process resize_to_fill: [700, 700, "Center"] 57 58end
micropsots/index
Ruby
1<% @microposts.each do |micropost| %> 2<%= render 'microposts/microposts', micropost: micropost %> 3<% end %>
_microposts.html.erb
Ruby
1<div class="card"> 2 <div class="posts"> 3 <div class="card_left"> 4 <%= image_tag micropost.image.url, class:"micropost_image" %> 5 </div> 6 <div class="card_right"> 7 <h1><%= micropost.title %></h1> 8 <p>日程<%= micropost.day %></p> 9 <p>場所<%= micropost.place %></p> 10 <p>募集人数<%= micropost.number %></p> 11 <p>内容<%= micropost.content %></p> 12 </div> 13 <div> 14 <!-- ここに削除ボタンと編集を作る --> 15 </div> 16 </div> 17</div>
その他
,micropost.rbに「mount_uploader :image, ImageUploader」の記述はしています。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/12 09:34
2020/08/12 15:00
2020/08/13 07:16