微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – Carrierwave多图像上传

我正在使用来自master分支和Postgresql的多个文件上传
我的产品模型有一个名为“images”的字符串字段,我可以很好地附加多个图像.

但我无法弄清楚,如何从产品中删除一张图片
我可以删除文档中描述的所有图像:

product.remove_images!
product.save

但没有找到如何删除单个图像的方法.

解决方法

您是否考虑过使用嵌套表单来尝试删除图像?

以下是来自carrierwave github网站的一段代码……

<%= form_for @product,html: { multipart: true } do |f| %>
  .
  .
  .
    <label>
      <%= f.check_Box :remove_images %>
      Remove images
    </label>
<% end %>

……我相信你已经看过了.当然,虽然调用remove_images!在你的情况下不会起作用,因为这意味着对所有图像采取统一的行动.

尝试以上修改,看看它是否有助于您排序此问题并单独定位每个图像…

<%= nested_form_for @product,:html=>{ :multipart => true } do |f| %>
  .
  .
  .
  <%= f.fields_for :images do |product_form|  %>

    <%= product_form.link_to_remove "Remove this image" %>
  <% end %>
<% end %>

为了完成这项工作,请确保包含gem’neested_form’,’〜>你的Gemfile中有0.3.2′.

希望这会帮助你.

原文地址:https://www.jb51.cc/ruby/268294.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐