0

Rails アプリケーションに ImageMagick で CarrierWave を使用しています。スクリプトを実行して、既存のすべてのイメージの新しいイメージ バージョンを生成したいと考えています。これを行う最良の方法は何ですか?Rails アプリのスクリプトを書いたことがありません。

uploader.rb ファイルにバージョンを作成しました。

  version :square_thumb do
    process :resize_to_fill => [105, 105]
  end

Railsコンソールで、次のようにして新しいバージョンを作成しようとしました:

Image.all.each do |image|
    image.recreate_version!(:square_thumb)
end

しかし、エラーが発生します: NoMethodError: undefined method `recreate_version!' ImagePathUploader の場合:0x007fe7f62ba4e0

これを行う方法について誰かアドバイスがありますか?

ありがとう!

4

1 に答える 1

0

これを修正するために、image_path_uploader.rb ファイルにメソッドを作成しました。

   def add_square_thumb
    recreate_versions!(:square_thumb)
   end

コンソールから、次のことができます

Image.all.each do |image|
    image.image_path.add_square_thumb
end
于 2013-08-09T15:27:19.357 に答える