我正在使用 Attachment_fu 在我的 Rails 应用程序中处理文件附件,它提供了public_filename
一种检索文件 URL 的方法。我在一个名为 Cover 的模型上使用它,所以如果我想调用上传的封面图片的 URL,在视图中我会这样做:
<%= image_tag(@cover.public_filename) %>
当用户有适当的附件时,这工作得很好,但在我的应用程序中,用户不需要上传附件。
因此,调用@cover.public_filename
将抛出 TypeError: Can't convert nil into String ,原因很明显,文件为 nil。
但是,由于对象为零,我无法有效地为这个问题添加逻辑,并且我所有尝试做类似的事情unless @cover.public_filename.nil?
或if @cover.public_filename == nil
都没有结果并导致相同的类型错误。
我错过了什么?