Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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 3 如何制作定制的carrierwave后处理器?_Ruby On Rails 3_Carrierwave - Fatal编程技术网

Ruby on rails 3 如何制作定制的carrierwave后处理器?

Ruby on rails 3 如何制作定制的carrierwave后处理器?,ruby-on-rails-3,carrierwave,Ruby On Rails 3,Carrierwave,我需要对不是图像的文件上传做一些后处理——在回形针中我可以有一个自定义的后处理器,但在carrierwave中我找不到任何方法来做这件事 Ruby 1.9.3、Rails 3.2.7和CarrierWave 0.6.2 我写了一篇关于如何创建自定义后处理器来创建视频缩略图的博客文章,也许你会发现它很有用 OP的问题是如何处理非图像文件 请在GitHub上查看此源文件: 并检查评论 您将创建自己的CarrierWave uploader子类,并将其装载到您的模型中,如下所示: def MyMo

我需要对不是图像的文件上传做一些后处理——在回形针中我可以有一个自定义的后处理器,但在carrierwave中我找不到任何方法来做这件事


Ruby 1.9.3、Rails 3.2.7和CarrierWave 0.6.2

我写了一篇关于如何创建自定义后处理器来创建视频缩略图的博客文章,也许你会发现它很有用


OP的问题是如何处理非图像文件

请在GitHub上查看此源文件: 并检查评论

您将创建自己的CarrierWave uploader子类,并将其装载到您的模型中,如下所示:

  def MyModel < ActiveRecord::Base

    # this is where the uploaded file will be available in your model,
    # as a `MyUploader` instance:
    #
    mount_uploader :uploaded_file, MyUploader

    ... 
  end
      self.model
mynifty\u file\u处理器
中,您只需对传入的对象调用
read
,即可读取文件

CarrierWave允许您在任何上传程序实例(=上传文件的任何实例)上调用
read
,它将读取该文件

还有一个提示:

有时,您需要访问上载程序中的ActiveRecord模型,文件是为该模型上载的

只需在上传程序代码中访问它,如下所示:

  def MyModel < ActiveRecord::Base

    # this is where the uploaded file will be available in your model,
    # as a `MyUploader` instance:
    #
    mount_uploader :uploaded_file, MyUploader

    ... 
  end
      self.model

这可以让您直接在AR模型中存储上传文件的其他信息,如格式。

此url不再可用:(是的,我已将其移到此处:您不回答OP的问题-他专门询问非图像文件!谢谢,我发现您的解释比当前最重要的解释更相关。