Den*_*est 19 ruby-on-rails amazon-s3 paperclip ruby-on-rails-4
我自己做了一个简单的rails blogging-type应用程序,我使用Paperclip上传图像文件.我的一切工作正常,花花公子.我甚至把它连接到一个S3斗,等等.Smiffy对吗?
但是在编辑/更新帖子时我无法理解该怎么做.现在看来,我所拥有的就是我的表单模板上的这个字段:
= f.file_field :image
Run Code Online (Sandbox Code Playgroud)
因此,即使有先前附加的图像,也可以说"post/5/edit",该字段显示"No file selected".
更糟糕的是,如果我改变主意并且不想附加图像,则没有明显的方法来清除当前图像.
如何使这一点更加用户友好,并确保当前图像 - 文本/网址很好 - 显示为文本字段中的值和/或用户可以将当前图像更改为无.
pet*_*ept 22
对于Rails3,这就是我的工作.对不起,我还没有使用过Rails4.
要向用户显示他们是否已上传文件,请在您的视图中执行以下操作:
<% if @blog.image.exists? %>
<%= image_tag @blog.image.url(:thumb) %><br/>
<% end %>
<%= f.file_field :image %>
Run Code Online (Sandbox Code Playgroud)
然后,为了允许用户删除当前上传,请将其添加到您的视图中(在if块内):
<%= f.check_box :delete_image %>Delete Image<br/>
Run Code Online (Sandbox Code Playgroud)
并且您在模型中处理该复选框:
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
Run Code Online (Sandbox Code Playgroud)
这样,如果用户设置了复选框,它将在下次保存时清除图像.
| 归档时间: |
|
| 查看次数: |
7186 次 |
| 最近记录: |