画像ファイルのディレクトリを反復処理して名前を変更しようとしています。このメソッドを実行するたびに、1 つのファイルの名前が変更され、残りは削除されます。File.rename も使用しました。
require 'fileutils'
def rename_image_files
@last_product = Product.find(:last).id + 1
Dir.foreach("app/assets/images/products/#{@last_product}").each do |item|
@count = 0
@count += 1
new_name = "#{@last_product.to_s << '_'}#{@count}"
@item = item
unless @item == '.' or @item == '..'
FileUtils.mv("app/assets/images/products/#{@last_product}/#{@item}", "app/assets/images/products/#{@last_product}/#{new_name}.png")
end
end