当使用image_tag
方法来显示PDF文件时,会出现ActiveStorage::InvariableError
错误。这是因为image_tag
方法默认用于显示图片文件,而不是PDF文件。
要解决这个问题,可以使用link_to
方法来创建一个链接,然后在链接中使用image_tag
来显示一个图标或缩略图,以表示PDF文件。
以下是一个示例代码:
<%= link_to attachment.filename, rails_blob_path(attachment), target: '_blank' do %>
<%= image_tag 'pdf_icon.png', alt: 'PDF icon' %>
<% end %>
在上面的示例中,attachment
是一个ActiveStorage附件对象,rails_blob_path
用于生成附件的URL。link_to
方法创建一个链接,并使用image_tag
方法在链接中显示一个PDF图标。
你可以根据自己的需要来自定义链接的文本和图标。