0

私のアプリケーションでは、画像のトリミング機能が必要です。Railscast http://railscasts.com/episodes/182-cropping-imagesをフォローしました

Aaaall はローカル マシンで正常に動作します。Thumbnail プロセッサから拡張された owm paperclip プロセッサがあります。このプロセッサは lib/paperclip_processors/cropper.rb に保存されています

module Paperclip
  class Cropper < Thumbnail

    def transformation_command
      if crop_command
        cmd = crop_command + super.join(" ").sub(/ -crop \S+/, '')
        cmd.split(" ")
      else
        super
      end
    end

    def crop_command
      target = @attachment.instance
      if target.cropping?
        " -crop \"#{target.crop_w.to_i}x#{target.crop_h.to_i}+#{target.crop_x.to_i}+#{target.crop_y.to_i}\" "
      end
    end
  end
end

私のローカル マシンでは、このプロセッサを使用してトリミングしています。heroku では、このモジュールは完全に無視されているようです。

はい、解決策を約6時間検索しました...

1.

#application.rb
config.autoload_paths += %w(#{config.root}/lib)     
#or 
config.autoload_paths += Dir["#{config.root}/lib/**/"]
#or
config.autoload_paths += Dir["#{config.root}/lib/paperclip_processors/cropper.rb"]

#all not working

2.

#initializers/includes.rb
require "cropper"

#or

Dir[Rails.root + 'lib/**/*.rb'].each do |file|
  require file
end

モジュールがロードされないのはなぜですか??

4

1 に答える 1

1

条件が呼び出されているかどうかを確認することをお勧めします。

    if target.cropping?
      " -crop \"#{target.crop_w.to_i}x#{target.crop_h.to_i}+#{target.crop_x.to_i}+ #{target.crop_y.to_i}\" "
    end

数日前、herokuのトリミングで同様の問題が発生しました。

于 2013-01-31T06:20:40.990 に答える