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