使用AWS S3和Activerecord在Rails 5.2中上载时旋转的图像

时间:2019-02-13 02:00:23

标签: ruby-on-rails activerecord rails-activestorage

我有一个Rails 5.2应用程序,其中我正在使用activerecord附件将照片作为附件上传。

他们上传得很好,但轮流出来了。我已经看到了其他与Paperclip上传有关的堆栈溢出问题以及此问题(例如this onethis 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" %>

0 个答案:

没有答案