嘿大家。
这是我在这里的第一篇文章(可能不是最后一篇......)
我正在构建一个 Rails 应用程序,管理员可以在其中创建配方。每个食谱都列在一个索引上,管理员可以添加诸如标题、成分、您必须花在食谱上的时间等内容……
现在我希望能够上传这个食谱的图片。
因为我不知道如何实现这一点,所以我决定从头开始一个新的应用程序,在这个应用程序中,你有一个有名字和图片的用户。
我已经实现了使用基本上传表单为用户(头像)上传图片:
<%= f.file_field :image %>
正如标题中提到的,这个上传是在亚马逊 S3 上进行的。我在 MiniMagick 的帮助下使用“fog-aws”宝石槽载波以我想要的方式显示图像。还有'figaro' gem 来隐藏我的亚马逊 s3 的 ID。
我还尝试使用相同的过程更新多个文件。这很好用。您可以在此页面上找到我关注的教程:这里
但是用户必须等待,并且在上传图片的同时屏幕上并没有真正发生任何事情。也许用户可能会认为出现问题并离开页面并最终感到沮丧或其他什么。
这就是为什么我想为 rails 使用jQuery File Upload 的原因。
问题是所有教程都非常过时,我找不到任何东西可以与所有东西一起正常工作(s3,carrierwave,jquery)。我找到的教程是从 2013 年左右开始的......找不到任何相关的东西。
除了这个。即使(再次)是从 2014 年开始。
此脚本允许您一次上传多个文件并删除它们等...只需将代码粘贴到任何视图中即可。我试过了,但有很多问题,第一个是这样的:
<%= javascript_include_tag 'jquery.iframe-transport.js' %>
<%= javascript_include_tag 'jquery.fileupload.js' %>
<%= javascript_include_tag 'jquery.fileupload-ui.js' %>
当我尝试代码时,我收到此错误:
The asset "jquery.iframe-transport.js" is not present in the asset pipeline.
我认为没有必要,因为您应该能够使用此 //= 需要 jquery-fileupload 从 application.js 文件中获取它,对吗?
当我删除这些行时,脚本正在加载,但它看起来像这样:
如您所见,您可以选择文件,但它应该显示如下图。
并且只有取消按钮正在工作并删除 hr
这意味着我猜的“图片”。但是上传和删除不起作用,复选框也是如此。
任何人都可以帮助我以某种方式完成这项工作吗?
问题可能来自 s3 ?还是脚本问题?我从来没有编写过 java 代码,所以我真的不知道它在哪里可能是错误的。
如果有人可以帮助或至少向我展示我将不胜感激的方式。
谢谢