0

私はrmagickモンタージュを作成するために使用しています。リクエストを送信した後、無限ループに陥り、サーバーを手動で再起動するまで、リクエストは同じイメージを何度も作成し続けます。

class LineItem < ActiveRecord::Base
  has_many :images, as: :imageable, dependent: :destroy
  after_save :process

  private

  def process
    image_list = Magick::ImageList.new(*self.photos.split(','))
    montage = image_list.montage do
      self.geometry = "182x182+6+6"
      self.tile     = "4x3"
    end
    name = "#{self.id}_#{Time.now}.jpg"
    montage.write(name)
    images.build(source: File.open(name))
    save!
  end

なぜこれが起こっているのか、またはそれをデバッグする方法はありますか?

4

1 に答える 1

2

あなたの問題は ではなくrmagick

after_save :process

それから中にprocess

save!

これにより、無限再帰が作成されます。

于 2013-05-24T20:32:03.387 に答える