我只是另一个希望跳上社交网络潮流的普通乔。我想知道我应该为我的应用用户使用哪张照片上传/调整大小宝石。如果你能解释原因那就太好了。
答案 0 :(得分:36)
Carrierwave 对DataMapper,Mongoid,Sequel等外部事物有很好的支持,甚至可以与第三方图像管理一起使用,例如cloudinary 解决方案似乎最完整,支持覆盖任何事情,但解决方案也更麻烦(至少对我来说),因为你需要处理更多的代码。它通过其丰富的社区创建的大量附加组件得到积极维护,以支持许多功能。它还具有其他附件解决方案(如回形针)的迁移说明。它有大约3-4个活跃的贡献者/维护者
Paperclip 来自于思想机器人,因此它应该是一个计划周密,功能齐全,易于处理的附加文件解决方案。它利用了许多内置功能,使铁路环境中的体验更加紧张。对于使用activerecord的有机Rails环境而言,Paperclip更好,而不是所有其他替代方案。 Paperclip对于初学者开发人员来说更容易处理,并且还为高级开发人员提供了高级功能。它有大约2-3个活跃的维护者。看看github图,似乎过去几个月对于回形针来说并不是很多,对代码的提交相对较少。希望这会改变,它可以与carrierwave相提并论(通常更多的维护者意味着更多的代码)
Dragonfly 是基于机架的附件解决方案。它对Rails以外的其他框架提供了很多支持,它有几个外部服务支持插件,但从github页面可以看出,仍有很多缺失。这可能是因为它有一个活跃的维护者而且自2012年4月以来没有提交。如果它没有得到一些真正的提升,我认为它不会活得那么久。特别是Rail 4即将推出。
最后,每个解决方案都有其优缺点,每个解决方案最适合每个开发人员。
请参阅以下列表,了解人们对每个问题的看法,并确定他们提出的问题是否与您有关:
Rails 3 paperclip vs carrierwave vs dragonfly vs attachment_fu
Attachment_fu or Paperclip for Rails3
要回答您的问题 - 载波和回形针都可以上传和调整图片大小。
至于你在评论中的问题,我使用paperclip,但由于carrierwave有能力从回形针迁移到它,如果它不再适合我的需要,我可能会切换。目前确实如此。
选择的最佳方式是选择一个,尝试一下,然后自己决定。