【发布时间】:2011-08-01 10:02:16
【问题描述】:
不知道有没有办法知道图片是否上传了?
我的意思是,我有一个 Foo_Class,这个类可以有一个附加的图像,但它的存在不是必需的。有没有办法知道该类的特定实例是否有图像?
谢谢!
【问题讨论】:
不知道有没有办法知道图片是否上传了?
我的意思是,我有一个 Foo_Class,这个类可以有一个附加的图像,但它的存在不是必需的。有没有办法知道该类的特定实例是否有图像?
谢谢!
【问题讨论】:
当您将回形针添加到模型中时,您添加了回形针特定行,我的是
cover_file_name
cover_content_type
cover_file_size
cover_updated_at
然后我检查它是否为nil
Foo_Class.cover_file_name.nil?
【讨论】:
如果 foo.image? 返回 true,则文件已上传。
【讨论】:
foo.image.exists?
:default_url => 'missing.png' 呢?那会被视为foo.image.exists?
我认为正确的解决方案是使用file? 方法。
foo.image.file?
http://rdoc.info/github/thoughtbot/paperclip/Paperclip/Attachment#file%3F-instance_method
使用存在吗?将向服务器发出请求以检查文件是否存在,这可能会很慢,特别是如果它位于不同的服务器或 S3 上。
使用 foo.image_file_name.nil?可能与文件相同?在幕后,但你不想依赖回形针的实现,这有朝一日可能会改变。
【讨论】:
如果这是我的模型
has_attached_file :avatar, :styles => {:logo => "230x50>", :card_image => "180x50>"}
您可以检查图像是否为用户上传,即@user
<%= @user.avatar.exists? %>
这将返回布尔值。
【讨论】:
假设您要检查 Foo 模型中第一行的附件(图像)是否存在:
image_present = Foo.first.image?
如果附件存在,则返回 true。
【讨论】: