如何将图像字段添加到Rails应用程序中?

时间:2010-06-10 15:40:17

标签: ruby-on-rails image image-processing

我正在构建一个具有图片上传字段的rails应用。我不知道如何在Rails中处理图像。 (上传的图像也需要一些处理。)任何人都可以告诉我如何做到这一点?

感谢。

5 个答案:

答案 0 :(得分:8)

我建议使用paperclip

This可能有所帮助。并this

答案 1 :(得分:1)

您是将图像作为文件上传到rails应用程序的目录还是数据库?如果不知道你的图像与他们正在使用的数据有什么关系,那就很难回答。

如果您将文件本身存储在数据库中,它会变得有点棘手,但如果您只存储图像的路径,那么它应该像使用带有存储路径的图像标记一样简单。 ;在我所做的rails应用程序中,图像有点突出,我们有一些有点凌乱,但看起来像这样:

<%= link_to "<span>fig." + (order+1).to_s + "</span>" + image_tag(url_for(:controller => 'upload', :action => 'picture', :id => picture.id), :class => 'list-image'), {:controller => 'upload', :action => 'show', :id => picture.id}, :class=>'head-image' %>

pictures.each块内,其中'upload'是处理上传和存储图像的控制器(我们将它们保存在数据库中)。最终结果显示缩小图片(通过css,我们很顽皮),点击后,会将用户带到图片的全尺寸版本(最终我们将做一个漂亮的AJAX缩放/叠加,但从未走得那么远。)

希望这有点帮助,自从我玩RoR已经有好几个月了。

编辑:Ach,阅读理解失败。我以为你正在处理上传的罚款,但无法访问上传的照片。 我不熟悉Paperclip;我们使用Attachment_fu和教程here,这对我们来说非常简单。 (我相信,我们实际上使用了this book中的说明/教程,但它们似乎相似。)

答案 2 :(得分:1)

RMagick gem非常受欢迎。我已将它用于上传字段,还可以调整图像大小/转换为灰度。 它可以找到here。 列出了一些常见任务here

答案 3 :(得分:1)

自2018年5月14日起,回形针为deprecated。 Rails 5.2现在带有active storage来解决图像问题。

答案 4 :(得分:0)

您也可以对PaperclipPolymorph感兴趣,它是Paperclip插件的扩展,您可以使用该插件将文件附加到我理解的几个模型中。