加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 编辑Rails文件上传(回形针)

发布时间:2020-12-16 20:32:39 所属栏目:百科 来源:网络整理
导读:我使自己成为一个简单的rails blogging类型的应用程序,我使用Paperclip上传图像文件.我有一切工作正常和花花公子.我甚至把它挂上了一个S3桶等.Spiffy对吧? 但是,编辑/更新帖子时,我无法确定该做什么.现在,我所有的都是我的表单模板上的这个字段: = f.file_
我使自己成为一个简单的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

这样,如果用户设置复选框,它将在下一次保存时清除图像.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读