我有一个带有 6 张回形针照片(照片 1、照片 2、照片 3、照片 4、照片 5 和照片 6)的模型。
因为最近网站设计发生了变化,我需要调整六张图片的所有样式。款式有小号、中号和大号。
我的想法是使用前置过滤器方法来执行 Model.photo1.reprocess!并在模型表中添加一列(例如“重新处理”为布尔值)以检查它是否被重新处理。
我认为这个想法比使用 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
实际上它是有效的,但如果存在对此的任何评论或更好的建议,将非常欢迎:)?
提前致谢