我有一個carrierwave基本的文件上傳:無法上傳一個文件中activeadmin
上傳/ 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
字段(我可以更改其他字段)的情況下
注意:當我提交表單(我沒有看到在鉻左下角上載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
場?