我正在使用带有运营商gem的活跃管理员。我无法在提示中查看图像上传预览
我的图片src总是空的,f.template.image_tag(f.object.image.url)
是空的
点击上传按钮后,我可以看到图片相对网址。
我的表单看起来像这样
ActiveAdmin.register Product do
permit_params :name, :description , :category_id , :image
form(:html => { :multipart => true }) do |f|
f.inputs "Product" do
f.input :category_id , :as => :select , :collection => Category.all
f.input :name
f.input :description
f.input :image, :as => :file, :hint => f.template.image_tag(f.object.image.url)
end
f.actions
end
end
模型
class Product < ActiveRecord::Base
belongs_to :category
mount_uploader :image, ImageUploader
end
串行
class ProductSerializer < ActiveModel::Serializer
attributes :id, :name, :description , :image
end
我的上传器看起来像这样
class ImageUploader < CarrierWave::Uploader::Base
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
end
生成HTML
<label class="label" for="product_image">Image</label>
<input id="product_image" name="product[image]" type="file">
<p class="inline-hints"><img src=""></p>
答案 0 :(得分:1)
经过一些修改后,对我来说工作正常:
ActiveAdmin.register Team do
permit_params :name, :country :image
index do
selectable_column
column :nome
column :country
actions
end
form do |f|
f.inputs "Team" do
f.input :nome
f.input :country
f.input :image, :image_preview => true
end
f.actions
end
show do
attributes_table do
row :nome
row :country
row :image do
image_tag(equipe.image.url)
end
end
end
end
你可以看到我使用三个选项: - 索引:显示项目列表 - 表格:表格 - 显示:显示项目详细信息
这样您就可以自定义所有页面。