2

私は Rails4 と mongoid-paperclip で作業しています

mongoid-paperclip (0.0.9)
      paperclip (>= 2.3.6)

ファイル名を変更したかったので、私のクラスは次のとおりです。

class Icon
  include Mongoid::Document
  include Mongoid::Timestamps
  include Mongoid::Paperclip

  has_mongoid_attached_file :icon,
    :path => ":rails_root/public/system/:attachment/:id/:style/:filename",
    :url => "/system/:attachment/:id/:style/:filename",
    :styles => {
      :small => { :geometry => "100x100"
    }
  }

  before_post_process :rename_avatar

  private

  def rename_avatar
    extension = File.extname(icon_file_name).downcase
    self.icon.instance_write(:file_name, "#{extension}")
  end

end

これを達成する方法!!!

4

1 に答える 1

0

はい、ファイル名について言及していませんでした。

したがって、変更された方法は、

def rename_avatar
    extension = File.extname(icon_file_name).gsub(/^\.+/, '')
    filename = icon_file_name.gsub(/\.#{extension}$/, '')
    self.icon.instance_write(:file_name, "#{filename}.#{extension}")
end
于 2014-04-02T09:45:57.260 に答える