无法在 activeadmin 中上传文件

Cannot upload a file in activeadmin

我有一个使用载波的基本文件上传:

uploaders/image_uploader.rb:

class ImageUploader < CarrierWave::Uploader::Base
  include CarrierWave::RMagick
  storage :file
  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end
end

models/event.rb:

class Event < ActiveRecord::Base
  ...
  mount_uploader :picture, ImageUploader
end

我可以在应用程序(不是管理部分)中使用表单上传图片,而且效果很好。我在 ActiveAdmin 的 picture 字段中看到图像路径。

但是我无法直接在ActiveAdmin 中更改图片字段。我尝试用图像创建新事件,或更改现有事件。如果存在图像,它会保持不变。如果之前没有图像,则不添加图像。简而言之,我可以在 ActiveAdmin 中查看 picture 字段,但我无法更改它。只有picture字段是这种情况(我可以更改其他字段)

注意:当我提交表单时没有开始上传(我在 chrome 的左下角没有看到上传 xx%)。我也试过其他浏览器,同样的行为。我在 rails 服务器控制台中没有收到任何错误。

admin/events.rb:

ActiveAdmin.register Event do
  permit_params :user_id, :category_id, :name, :date, :description, :text, :picture

 # tried adding this, form still works, but image still doesn't work.
 form multipart: true do |f|
    f.inputs "Event details" do
      f.input :category_id
      f.input :name
      f.input :description
      f.input :picture, as: :file
    end
    f.actions
  end
end

为什么我不能更改 ActiveAdmin 中的 picture 字段?

问题与这个问题相同:File upload with Activeadmin Rails using paperclip

admin/events.rb 更改为此使上传工作:

ActiveAdmin.register Event do
  permit_params :user_id, :category_id, :name, :date, :description, :text, :picture

  form :html => { :enctype => "multipart/form-data" } do |f| # <--- changed
    f.inputs "Event details" do
      ...
    end
    f.actions
  end
end

问题 #3577 已在 GitHub 开放,今天早些时候合并了一个 PR。