我正在使用Rails Active Storage将附件添加到我的作业模型中,并且不断抛出上述错误
我曾经使用过载波宝石,但决定使用主动存储。我需要视图以显示文件和名称,但错误仍显示。当我评论该行时,分配视图正在工作,但即使文件是单词或pdf或excel文档也无法作为图像。
<% if @assignment.attachments.attached? %>
<p>
<strong>Attachments</strong><br>
<% @assignment.attachments.each do |attachment| %>
<%= image_tag url_for(@assignment.attachment) %>
<%= link_to rails_blob_path(@assignment.attachment.filename,
disposition: "attachment") %>
<% end %>
</p>
作业的模型
class Assignment < ApplicationRecord
has_many_attached :attachments
end
在控制器的作业中,我允许在参数中的附件如下
attachments: []
在.each
循环中,每个附件条目都称为attachment
,而不是@assignment.attachment
。在错误的情况下,@assignment.attachment
为nil。
更新您的代码以具有以下两行:
<%= image_tag url_for(attachment) %>
<%= link_to rails_blob_path(attachment.filename, disposition: "attachment") %>