我有一个运行ActiveAdmin和使用CarrierWave上传图片的ROR应用程序。我有一个模型:Product,可以允许多个ProductImages。当我添加新产品并选择多个图像上传时,一切似乎都很好。但是,一旦我想要编辑该产品,图像似乎并没有实际上传,并且我收到以下错误:
undefined method `image_changed?'
我的假设是最初的上传没有进行太多操作,因此在编辑时结果为空。
这是管理员表单的片段:
ActiveAdmin.register Product do
form(:html => {:multipart => true}) do |f|
f.inputs "Details" do
f.input :name
f.input :descr, :label => "Description"
f.input :brand, :as => :select, :collection => Brand.all, :member_label => :name, :label => "Brand"
# tags
f.autocomplete_field :tag_list, '/products/autocomplete_tag_name', :"data-delimiter" => ', '
f.input :tag_list, :hint => "Comma delimited tags"
end
f.has_many :product_images do |pi|
pi.inputs "Product Images" do
if !pi.object.nil?
pi.input :_destroy, :as => :boolean, :label => 'Destroy?'
end
pi.input :image_name
pi.input :image
end
end
f.buttons
end
end
编辑
我还知道一件事情,图片在创建帖子时会被上传,但是编辑时会出现问题。