我正在使用Rails Active存储将附件添加到我的作业模型中,并不断抛出上述错误
我以前使用过载波宝石,但决定改用Active Storage。我需要视图来显示文件和名称,但错误始终显示。 当我注释掉该行时,即使文件是word或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: []
答案 0 :(得分:0)
在.each
循环中,每个附件条目将被称为attachment
,而不是@assignment.attachment
。在发生错误的情况下,@assignment.attachment
为nil。
将您的代码更新为以下两行:
<%= image_tag url_for(attachment) %>
<%= link_to rails_blob_path(attachment.filename, disposition: "attachment") %>