我使自己成为一个简单的rails blogging类型的应用程序,我使用Paperclip上传图像文件.我有一切工作正常和花花公子.我甚至把它挂上了一个S3桶等.Spiffy对吧?
但是,编辑/更新帖子时,我无法确定该做什么.现在,我所有的都是我的表单模板上的这个字段:
= f.file_field :image
所以,即使有以前附加的图像,也可以说“post / 5 / edit”,该字段显示“No file selected”.
更糟糕的是,如果我改变主意,不想附加图像,则没有明确的方法来清除当前图像.
如何使这一点更加用户友好,并确保当前图像 – 文本/网址是正确的 – 显示为文本字段中的值和/或用户可以将当前图像更改为无.
解决方法
对于Rails3这里是我做的.对不起,我还没有使用Rails4.
要向用户显示他们是否已经上传文件,请在您的视图中执行此操作:
<% if @blog.image.exists? %> <%= image_tag @blog.image.url(:thumb) %><br/> <% end %> <%= f.file_field :image %>
然后,为了让用户删除当前的上传,将其添加到您的视图(如果块中):
<%= f.check_Box :delete_image %>Delete Image<br/>
你处理你的模型中的那个复选框:
before_validation { image.clear if @delete_image } def delete_image @delete_image ||= false end def delete_image=(value) @delete_image = !value.to_i.zero? end
这样,如果用户设置复选框,它将在下一次保存时清除图像.
原文地址:https://www.jb51.cc/ruby/273614.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。