在轨道上有红宝石的宝石,让用户上传模型的图像吗?

时间:2014-03-22 07:39:29

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4

我正在研究一个小应用程序,我很好奇是否有一种方法让用户使用生成的脚手架(1)将图像文件名分配给字段,以及(2)自动上传该文件成功时到服务器。

我们的想法是创建一个更简单的编辑过程。我的理解是在表中包含一个blob并不是一个好的编码标准,所以...如果我不能直接将它存储在数据库中,那么我们需要存储图像文件名。但与此同时,我们需要确保该图像在服务器上真正可用。在这种情况下,我希望同时涵盖这两种情况 - 允许编辑完成他们的工作。

我可以利用现有的宝石吗?感谢

2 个答案:

答案 0 :(得分:2)

Paperclip宝石怎么样? - 它允许您上传图像,为模型中的列指定文件名,附件上的验证和帮助函数以在视图中显示它们。

  

Paperclip旨在作为Active的简易文件附件库   记录。其背后的意图是尽可能简化设置   像处理其他属性一样处理文件。这意味着   它们没有保存到磁盘上的最终位置,也不是   如果设置为nil则删除,直到调用ActiveRecord :: Base#save。它   如果需要,可以根据大小和在线状态管理验证。

一些替代方案 - CarrierWavemore

答案 1 :(得分:2)

我不太确定你的用例,看起来这很重要,有关在文本编辑领域添加图片的事情吗?

要回答一个问题,不,你不能使用默认的Rails scoffolding,虽然RailsAdminActiveAdminpaperclip支持(是的,对于第二个@emaillenin,回形针可能是最常见的选择。)

同时查看JQuery File Upload我最喜欢的“脚手架”-esque文件上传器;虽然它比RailsAdmin更多的工作,但它是一个很棒的体验,因为你在上传过程中获得了缩略图预览,并且所有进度都是免费的。

如果它有帮助,我有一个存储在Github上的照片库项目,而不是“开源”,我试图让它对其他人有用,但我不在乎人们是否浏览它。它使用jquery-file-upload。有用的文件:

Gemfile有:

gem 'paperclip'
gem 'jquery-fileupload-rails'

然后是photo modelcategories controller for uploading photos as a nested resourcefile-upload template translated to HAML