我有一个带载波的基本文件上传:
上传/ 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
模型/ event.rb:
class Event < ActiveRecord::Base
...
mount_uploader :picture, ImageUploader
end
我可以在应用程序(不是管理部分)上传带有表单的图像,它可以正常工作。我在ActiveAdmin的picture
字段中看到了图片路径。
但是我无法直接在ActiveAdmin中更改图片字段。我尝试使用图像创建新事件,或者更改现有事件。如果图像存在,它保持不变。如果之前没有图像,则不添加任何图像。简而言之,我可以在ActiveAdmin中查看picture
字段,但我无法更改它。这种情况仅适用于picture
字段(我可以更改其他字段)
注意:我提交表单时没有上传(我没有看到在chrome左下角上传xx%)。我也试过其他的浏览器,同样的行为。我在rails服务器控制台中没有出错。
系统管理员/ 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
字段?
答案 0 :(得分:2)
问题与此问题相同: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
答案 1 :(得分:0)
问题#3577在GitHub上已经公开,今天早些时候公关合并了。