-3

6枚のクリップ写真(写真1、写真2、写真3、写真4、写真5、写真6)のモデルがあります。

最近サイトのデザインが変更されたため、6枚の写真のすべてのスタイルのサイズを変更する必要があります。スタイルは小、中、大です。

私のアイデアは、beforefilterメソッドを使用してModel.photo1.reprocessを実行することです。モデルテーブルに列を追加して(たとえば、ブール値として「再処理」)、再処理されたかどうかを確認します。

このアイデアは、次の展開で1回の移行ですべての写真を移行するためにrakeスクリプトを使用するよりも効率的だと思います。

製品コントローラー

before_filter :check_image_reprocess, :only => [:show]  

def check_image_reprocess
  @product = Product.find(params[:id])
  if @product.reprocess == false
    @product.photo.reprocess! unless @product.photo.nil?
    @product.photo2.reprocess! unless @product.photo2.nil?
    @product.photo3.reprocess! unless @product.photo3.nil?
    @product.photo4.reprocess! unless @product.photo4.nil?
    @product.photo5.reprocess! unless @product.photo5.nil?
    @product.photo6.reprocess! unless @product.photo6.nil?
    @product.update_attributes(:reprocess => true)
  end
end

実際には機能しますが、これやより良い提案についてのコメントがあれば、大歓迎です:)?

前もって感謝します

4

1 に答える 1

0

このようにして、1週間のテスト後に完全に機能します!!

楽しみ

于 2012-09-19T11:45:44.780 に答える