我正在尝试为一个网站创建一个简单的rss/博客提要。我想有一个简单的封面照片上传器,这将出现在一个标题左侧的标题阅读更多的博客帖子链接。我认为在图像上传文件中,如果你包含mini_magick,你可以访问像version :medium do这样的方法,用于不同版本的图像上传。无论出于什么原因,在我提交表单后,它只会在浏览器中抛出一个错误,而且它一点帮助都没有。当我删除上传文件中的version :medium do方法时,图像会像正常一样上传,但很小,我真的想调整它的大小。
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :fog
version :medium do
process resize_to_fit: [250, 250]
end
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def extension_white_list
%w(jpg jpeg gif png)
end
end
class HomeBlog < ApplicationRecord
has_many :upvotes
mount_uploader :image, ImageUploader
end
<%= tinymce_assets %>
<%= simple_form_for(@admin_home_blog) do |f| %>
<%= f.error_notification %>
<%= f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? %>
<div>
<h3>Upload a Cover Photo</h3>
<%= f.file_field :image %>
<%= f.hidden_field :image_cache %>
</div>
<div class="form-inputs">
<span class="form_labels"><%= f.input :name %></span>
<%= f.text_area :entry, :class => "tinymce", :rows => 20, :cols => 120 %>
</div>
<div class="form-actions">
<%= f.button :submit, "Create Blog Post" %>
</div>
<% end %>
<%= tinymce %>有没有人能看出来出了什么问题?我还将gem 'mini_magick‘安装在了带有carrierwave和fog的gemfile中。
发布于 2018-08-22 03:08:26
我的名声还不够高,不能简单地发表评论,但可以试试这个。
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :fog
# move this line outside of your method
process resize_to_fit: [512,512]
version :medium do
# change the word 'fit' to 'fill'
process resize_to_fill: [250,250]
end
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def extension_white_list
%w(jpg jpeg gif png)
end
end从我所看到的和我所成功的是,调整大小以适应一次(在每个照片大小方法之前),然后调整大小以填充所有不同的照片大小。祝好运!
发布于 2018-08-24 01:14:38
如果你被卡住了,不能让Mini_Magick工作,如果你正在使用carrierwave或回形针,只是想像我一样调整到更大的图像?简单的内联样式就足够了。不要浪费太多的时间在上传文件中的版本垃圾。也许有些人没有问题,或者他们已经破解了代码。我想我是特别的哈哈。
https://stackoverflow.com/questions/51900725
复制相似问题