簡體   English   中英

如何在Heroku上的活動管理中刪除回形針圖像

[英]How to delete paperclip image in active admin on Heroku

截至目前,用戶可以將圖像上傳到活動管理員,還可以查看該圖像的預覽。 但是,我不確定如何向該圖像添加刪除按鈕。 這是我現在在Active Admin中用於內容輸入視圖的代碼:

 ActiveAdmin.register Content do

  form :html => { :enctype => "multipart/form-data" } do |f|
      f.input :image, :as => :file, :hint => f.template.image_tag(f.object.image.url(:thumb))
      f.input :remove_image, as: :boolean, required: false, label: "remove image"
    end
  f.buttons
 end

模型Content.rb

  attr_writer :remove_image

  def remove_image
    @remove_image || false
  end

  def before_remove_image
    if self.remove_image
      self.remove_image = nil
    end
  end

當我檢查布爾值並嘗試更新它時,它向我拋出以下錯誤:

RSolr::Error::Http - 500 Internal Server Error
Error:     /Users/LMo/Made/gluten-free-all/gluten-free/solr/data/development/index/segments_11 (No such file or directory)

java.io.FileNotFoundException: /Users/LMo/Made/gluten-free-all/gluten-free/solr/data/development/index/segments_11 (No such file or directory)
    at java.io.RandomAccessFile.open(Native Method)
    at java.io.RandomAccessFile.<init>(RandomAccessFile.java:233)
    at org.apache.lucene.store.SimpleFSDirectory$SimpleFSIndexInput$Descriptor.<init>(SimpleFSDirectory.java:70)
    at org.apache.lucene.store.SimpleFSDirectory$SimpleFSIndexInput.<init>(SimpleFSDirectory.java:97)
    at org.apache.lucene.store.NIOFSDirectory$NIOFSIndexInput.<init>(NIOFSDirectory.java:92)
    at org.apache.lucene.store.NIOFSDirectory.openInput(NIOFSDirectory.java:79)
    at org.apache.lucene.store.FSDirectory.openInput(FSDirectory.java:345)
    at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:265)

我使用了它,但是它可能適用於ActiveAdmin的舊版本。 也許您可以修改它?

# In app/admin/model.rb
form :html => { :enctype => "multipart/form-data" } do |f|
  f.inputs do
    #...
    f.input :icon, :as => :file, :label => "Icon", :hint => f.template.(f.object.icon.url(:thumb))
      if (f.object.icon.present?)
        f.input :delete_icon, :as=> :boolean, :required => false, :label => 'Remove image'
      end
   end
   f.buttons
 end

# model.rb
attr_accessor :delete_icon
before_validation { self.icon.clear if self.delete_icon == '1' }

謝謝您的幫助。 這是最終的工作代碼...

管理員/product.rb

f.input :image, required: false, hint: (("Current image:<br/>").html_safe + f.template.image_tag(f.object.image.url(:thumb))).html_safe
f.input :remove_image, as: :boolean, required: false, label: "Remove Image"

型號/product.rb

attr_writer :remove_image

def remove_image
  @remove_image || false
end

before_validation { self.image.clear if self.remove_image == '1' }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM