我正在研究一个小应用程序,我很好奇是否有一种方法让用户使用生成的脚手架(1)将图像文件名分配给字段,以及(2)自动上传该文件成功时到服务器。
我们的想法是创建一个更简单的编辑过程。我的理解是在表中包含一个blob并不是一个好的编码标准,所以...如果我不能直接将它存储在数据库中,那么我们需要存储图像文件名。但与此同时,我们需要确保该图像在服务器上真正可用。在这种情况下,我希望同时涵盖这两种情况 - 允许编辑完成他们的工作。
我可以利用现有的宝石吗?感谢
答案 0 :(得分:2)
Paperclip宝石怎么样? - 它允许您上传图像,为模型中的列指定文件名,附件上的验证和帮助函数以在视图中显示它们。
Paperclip旨在作为Active的简易文件附件库 记录。其背后的意图是尽可能简化设置 像处理其他属性一样处理文件。这意味着 它们没有保存到磁盘上的最终位置,也不是 如果设置为nil则删除,直到调用ActiveRecord :: Base#save。它 如果需要,可以根据大小和在线状态管理验证。
一些替代方案 - CarrierWave和more。
答案 1 :(得分:2)
我不太确定你的用例,看起来这很重要,有关在文本编辑领域添加图片的事情吗?
要回答一个问题,不,你不能使用默认的Rails scoffolding,虽然RailsAdmin和ActiveAdmin有paperclip支持(是的,对于第二个@emaillenin,回形针可能是最常见的选择。)
同时查看JQuery File Upload我最喜欢的“脚手架”-esque文件上传器;虽然它比RailsAdmin更多的工作,但它是一个很棒的体验,因为你在上传过程中获得了缩略图预览,并且所有进度都是免费的。
如果它有帮助,我有一个存储在Github上的照片库项目,而不是“开源”,我试图让它对其他人有用,但我不在乎人们是否浏览它。它使用jquery-file-upload。有用的文件:
Gemfile有:
gem 'paperclip'
gem 'jquery-fileupload-rails'
然后是photo model,categories controller for uploading photos as a nested resource和file-upload template translated to HAML。