5

私が取り組んでいる Web アプリケーションに手動トリ​​ミングを実装しようとしていますが、これまでのところ:

  version :croppedversion do
    process :manualcrop => [model.crop_x, model.crop_y, model.crop_h, model.crop_w]
  end

  process :resize_to_limit => [600, 600]

  def manualcrop(x,y,h,w)
    manipulate! do |img|
      img = img.crop(x,y,h,w)
    end
  end

問題は、モデルがゼロになることです。私が読んだドキュメントから、これは正しい方法です。

助言がありますか?今のところ、クロッピングの呼び出しをモデルのコールバックに移動しましたが、実際にはキャリアウェーブ内に常駐させたいと考えています

4

2 に答える 2

0

モデルデータにアクセスしようとしたときに、CarrierWaveでオブジェクトがnilになるのに非常に苦労しました。

私にとって、問題は私のコントローラーにありました。これはあなたの状況にあまり当てはまらないように見えますが、私は次のようにしてクエリを実行していました:model.user.foo-オブジェクトの作成後すぐにこのユーザーをモデルに割り当てた場合、nilになります。

于 2011-06-10T17:01:24.387 に答える
0

同様の問題に遭遇しました。私が持っていた

attr_accessor :crop_x、:crop_y、:crop_w、:crop_h

しかし、attr_accessible にクロップ変数を含めるのを忘れていました。することで

attr_accessible :description, :image, :crop_x, :crop_y, :crop_w, :crop_h

モデル作物変数を取得できました。切り抜き方法ではなく nil を返すモデルについて説明しているため、これで問題が解決するかどうかはわかりません。

于 2011-05-12T21:07:44.653 に答える