Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails CarrierWaveDirect直通上传不';t似乎在s3中创建备用:thumb版本_Ruby On Rails_Image Processing_Carrierwave - Fatal编程技术网

Ruby on rails CarrierWaveDirect直通上传不';t似乎在s3中创建备用:thumb版本

Ruby on rails CarrierWaveDirect直通上传不';t似乎在s3中创建备用:thumb版本,ruby-on-rails,image-processing,carrierwave,Ruby On Rails,Image Processing,Carrierwave,我试图在保存原始图像后将缩略图保存到s3,但它似乎不起作用。然而,原始文件就在那里 我的猜测是,因为s3是直接提交图像的,所以缩略图创建回调不会发生 我尝试了一个。重新创建\u版本,我甚至看到s3做了一些我在调用时通常会看到的事情,但是image.url(:thumb)仍然提供了404结果的链接 这是我上传的代码: include CarrierWave::MiniMagick include CarrierWaveDirect::Uploader version :thumb do p

我试图在保存原始图像后将缩略图保存到s3,但它似乎不起作用。然而,原始文件就在那里

我的猜测是,因为s3是直接提交图像的,所以缩略图创建回调不会发生

我尝试了一个
。重新创建\u版本,我甚至看到s3做了一些我在调用时通常会看到的事情,但是
image.url(:thumb)
仍然提供了404结果的链接

这是我上传的代码:

include CarrierWave::MiniMagick
include CarrierWaveDirect::Uploader 

version :thumb do
  process :resize_to_fill => [100, 100]
end

storage :fog

def store_dir
  "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
以下是生成s3直接提交表单的模板代码:

<% badge.image_uid.success_action_redirect = "http://" + request.host_with_port + "/badge_builders/" + badge.badge_builder.id.to_s + "/edit" %>

<%= direct_upload_form_for badge.image_uid do |f| %>
  <div class="form-group">
    <%= f.file_field :image_uid, required: true  %>
    <%= f.submit 'Submit', class: 'btn btn-primary btn-lg' %>
  </div>
<% end %>


我做错什么了吗?还是说没有一个优雅的非补丁解决方案?谢谢你的帮助

我认为我对回调的直觉似乎是正确的。以下是修复它的方法(在成功\u操作\u重定向逻辑中):

if params[:key] #and @builder.badge.key.include? "${filename}"
  @builder.badge.key = params[:key]
  @builder.badge.save
  @builder.badge.image_uid.recreate_versions!
  @builder.badge.image_uid = @builder.badge.key
  @builder.badge.save
end