我有一个Rails 5.2应用程序,其中我正在使用activerecord附件将照片作为附件上传。
他们上传得很好,但轮流出来了。我已经看到了其他与Paperclip上传有关的堆栈溢出问题以及此问题(例如this one或this one),但是由于Paperclip在Rails 5.2中已弃用,因此他们说要修复的初始化程序不存在。 >
有人能弄清楚这里出了什么问题吗?
我的表单是这样的:
<%= simple_form_for [@capsule, CapsuleItem.new] do |f| %>
<%= f.error_notification %>
<%= f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? %>
<div class="form-inputs">
<div class="form-group">
<%= f.label :item_date %>
<input placeholder="Date of Photograph" type="text" id="date" class="form-control datepicker"></input>
<%= f.hidden_field :item_date, id: "dateHolder", class: "hiddenDateField" %>
</div> <!-- form group -->
<%= f.input :photo %>
<%= f.input :title %>
<%= f.input :caption %>
<%= f.hidden_field :capsule %>
</div>
<div class="form-actions text-center">
<%= f.button :submit, value: "Add Photo to Time Capsule", class: "btn btn-danger" %>
</div>
<% end %>
我的控制器capsule_item#create
方法在这里:
def create
@capsule = Capsule.find(params[:capsule_id])
@capsule_item = @capsule.capsule_items.build(capsule_item_params)
@capsule_item.user = current_user
respond_to do |format|
if @capsule_item.save
format.html { redirect_to @capsule, notice: 'Capsule item was successfully created.' }
format.json { render :show, status: :created, location: @capsule_item }
else
format.html { render :new }
format.json { render json: @capsule_capsule_item.errors, status: :unprocessable_entity }
end
end
end
我的CapsuleItem
模型是这样的:
class CapsuleItem < ApplicationRecord
belongs_to :user
belongs_to :capsule
has_one_attached :photo
end
图像显示如下:
<%= image_tag rails_blob_url(item.photo.variant(auto_orient: true)), class: "card-img-top" %>