Rails回形针水印"未初始化的常量回形针"

时间:2016-07-30 02:59:27

标签: ruby-on-rails paperclip watermark

我尝试将水印应用到我的回形针,它会显示错误消息并且无法更新/上传图像。它继续显示**

  

未初始化的常量Paperclip :: Watermark :: PaperclipCommandLineError

**

宝石文件

  

gem" paperclip",' 4.2'宝石' rails',' 4.2.6'宝石   '纸夹压缩'

paperclip_processors / watermark.rb

module Paperclip
  class Watermark < Thumbnail
    def initialize(file, options = {}, attachment = nil)
      super
      @watermark_path = options[:watermark_path]
      @position       = options[:position].nil? ? "SouthEast" : options[:position]
    end

    def make
      src = @file
      dst = Tempfile.new([@basename].compact.join("."))
      dst.binmode

      return super unless @watermark_path

      params = "-gravity #{@position} #{transformation_command.join(" ")} #{@watermark_path} :source :dest"

      begin
        success = Paperclip.run("composite", params, :source => "#{File.expand_path(src.path)}[0]", :dest => File.expand_path(dst.path))
      rescue PaperclipCommandLineError
        raise PaperclipError, "There was an error processing the watermark for #{@basename}" if @whiny
      end

      dst
    end
  end
end

lisitng.rb

class Listing < ActiveRecord::Base
    require 'paperclip_processors/watermark'
    has_attached_file :image,
                    :processors => [:watermark],
                    :styles => {
                      :medium => {
                        :geometry       => "300x300>",
                        :watermark_path => "#{Rails.root}/public/images/watermark.png"
                      },
                      :thumb => "100x100>",
                    }

1 个答案:

答案 0 :(得分:0)

我认为你的子类错了。不要子类化Thumbnail,子类Paperclip :: Processor

module Paperclip
  class Watermark < Processor
  ...

https://github.com/thoughtbot/paperclip/blob/master/lib/paperclip/processor.rb