Ruby on rails ROR+;ActiveAdmin+;Carrierwave,上载多个图像后编辑

Ruby on rails ROR+;ActiveAdmin+;Carrierwave,上载多个图像后编辑,ruby-on-rails,carrierwave,activeadmin,Ruby On Rails,Carrierwave,Activeadmin,我有一个ROR应用程序运行ActiveAdmin并使用CarrierWave上传图像。我得到了一个模型:Product,它允许多个ProductImages。只要添加一个新产品并选择几个图片上传,一切似乎都很顺利。但是,一旦我想编辑该产品,图像似乎实际上没有被上传,另外我得到以下错误: undefined method `image_changed?' 我的假设是,最初的上传没有做太多的工作,因此在编辑时结果是空的 以下是管理表单的一个片段: ActiveAdmin.register Pro

我有一个ROR应用程序运行ActiveAdmin并使用CarrierWave上传图像。我得到了一个模型: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
编辑

我还知道一件事,这些图片确实是在创建帖子时上传的,这是因为编辑出错了。

我不久前也遇到了同样的问题(但是回形针)。解决方案(不明显)是,如果用户没有在编辑表单中提供密码以确认更新,则图像不会更新


因此,如果您没有尝试此操作,可能值得一试:请用户在编辑产品时输入其密码,然后查看图像是否正确更新。

我最近遇到了此问题。 请更新您的表单字段,如下所示。必须将输入字段设置为文件

pi.input :image, :as => :file

我目前也有同样的问题-你找到解决方案了吗/同样的问题。。。添加后不能删除。。运气好吗?