类型错误(无法转换成零字符串)随着Attachment_Fu
-
18-09-2019 - |
题
我处理的文件附件与Attachment_fu我的Rails应用程序,它提供了一个public_filename
方法来检索文件的URL。
我使用的是一种叫做封面模特,所以如果我想打电话给上传的封面图片的URL,在视图中我会做:
<%= image_tag(@cover.public_filename) %>
当用户有相应的连接这一切正常,但在我的应用程序是不是用户上传附件的要求。
因此,调用@cover.public_filename
会抛出一个TypeError:无法转换成零字符串原因很明显,该文件是零
不过,我无法添加逻辑这个问题,因为有效的对象是零,而我所有的努力与做这样的事情unless @cover.public_filename.nil?
或if @cover.public_filename == nil
的都石沉大海,并导致同一类型的错误。
我是什么失踪?
其他提示
<%= image_tag(@cover.public_filename) unless @cover.nil? %>
对不起,无法评论,所以这里是一个更新而不是:的
因为@cover.public_filename?
是@cover
对象,因此没有nil
方法public_filename?
这里不能工作。
nil.respond_to?('public_filename?') #=> false
更新
请它:
<%= image_tag(@cover.public_filename) if @cover && @cover.public_filename? %>
不隶属于 StackOverflow