我刚刚升级到rails3当我安装了通常的attachment_fu插件失败。所以我就开始搜索它,虽然我没有找到一个rails3版本似乎有更多人们谈论的回形针与rails3.

所以首先的优点是什么曲别针?

是否有更好的支持rails3吗?

有帮助吗?

解决方案

两者都不是。使用 carrierwave .

处理文件上载,我们切换回形针对CarrierWave.同时回形针具有(及继续)为我服务以及在许多应用程序的工作,我真的很感激的模块式做法,CarrierWave需要。这是无关的流行S3客户使用,支持储/s3和right_aws.这也是奥姆不可知的和不紧密结合活动记录。紧密联结的回形针已经引起我们的一些悲伤的工作,我也感到困惑的状态的回形针的支持apn/s3和right_aws.因此,我很高兴找到这个新的项目,并维护者乔纳斯本似乎是一个非常敏感和乐于助人的家伙,总是好事。代码看起来很好,我有一个简单的时间工作,与此库为止。(: http://trevorturk.com/2010/2/8/kzak-an-open-source-web-based-jukebox/)

这里更多的信息:

其他提示

我使artionment_fu rails3兼容。

https://github.com/mihael/attachment_fu

编辑:但是对于某些用户而言,它被打破了,我不会进一步维护它,因此,如果您不想自己破解其他解决方案,请研究其他解决方案;)

我为我正在从事的项目测试了带有rails3.0.3的纸袋vs carrierwave vs entation_fu。

至今 entathment_fu 一如既往的工作非常好,但是代码仍然需要对回调系统进行一些重构。它具有Cloudfiles的后端,S3。

回形针 也很好,非常易于使用。基本设置没有让我上传电影(必须添加选项:whiny => false),并且它没有像我预期的那样对文件名进行消毒。这就是我这样做的方式:

class Asset < ActiveRecord::Base
  has_attached_file :file, :styles => { :small => "300x300>", :thumb => "50x50>" }, :whiny => false
  before_create :sanitize_file_name
  private
  def sanitize_file_name
    self.file.instance_write( :file_name,  file_file_name.gsub(/[^A-Za-z0-9\.\-]/, '_'))
  end  
end

PaperClip具有S3后端,但没有内置的CloudFiles的后端。有一个针对该的纸叉叉(Google for paperclip-cloudfiles),该叉形是为rails2.3.5(搜索paperclip_demo)构建的。

载波 看起来非常好,具有解耦的体系结构,但我不喜欢它不会在更新和破坏对象的更新和破坏物体上删除内容,而是在磁盘上留下了一堆文件和目录。基本的载波设置也没有让我上传电影,尽管它可以很好地清理文件名。我还没有为此找到快速解决方案。如果您使用的是Mongoid和Gridfs,则CarrierWave已内置支持。

最后,我为我的项目带了回纸。

如果要继续在Rails 3.2及以后使用它,我为Attinment_FU创建了一个GEM。

https://rubygems.org/gems/pothoven-attachment_fu

蜻蜓 真的很好。尝试一下,它可以处理文件和图像。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top