# Attachment\_fu slows down update

**URL:** <https://www.ruby-forum.com/t/attachment-fu-slows-down-update/188946>\
**Category:** Rails\
**Created:** [May 20, 2010, 11:26pm UTC](https://www.ruby-forum.com/t/attachment-fu-slows-down-update/188946 "2010-05-20T23:26:27Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ssk](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@ssk](https://www.ruby-forum.com/u/ssk)\
**Post date:** [May 20, 2010, 11:26pm UTC](https://www.ruby-forum.com/t/attachment-fu-slows-down-update/188946/1 "2010-05-20T23:26:27Z")

</div>

Hi,

I use attachment\_fu and it slows down update.

[Models]  
product has many pictures.

[Update]  
product.update\_attributes(“pictures\_attributes”=\>{  
“6”=\>{"\_delete"=\>“0”, “color\_id”=\>“3”, “id”=\>“2953”},  
“11”=\>{"\_delete"=\>“0”, “color\_id”=\>“9”, “id”=\>“2921”},  
“22”=\>{"\_delete"=\>“0”, “color\_id”=\>“24”, “id”=\>“2977”},  
“7”=\>{"\_delete"=\>“0”, “color\_id”=\>“4”, “id”=\>“2965”},  
“12”=\>{"\_delete"=\>“0”, “color\_id”=\>“10”, “id”=\>“2949”},  
“23”=\>{"\_delete"=\>“0”, “color\_id”=\>“27”, “id”=\>“2969”},  
“8”=\>{"\_delete"=\>“0”, “color\_id”=\>“5”, “id”=\>“2917”},  
“13”=\>{"\_delete"=\>“0”, “color\_id”=\>“11”, “id”=\>“2913”},  
“24”=\>{"\_delete"=\>“0”, “color\_id”=\>“28”, “id”=\>“2985”},  
“9”=\>{"\_delete"=\>“0”, “color\_id”=\>“7”, “id”=\>“2989”},  
“14”=\>{"\_deete"=\>“0”, “color\_id”=\>“12”, “id”=\>“2973”},  
“25”=\>{"\_delete"=\>“0”, “color\_id”=\>“77”, “id”=\>“2997”},  
“15”=\>{"\_delete"=\>“0”, “color\_id”=\>“13”, “id”=\>“2925”},  
“0”=\>{"\_delete"=\>“0”, “color\_id”=\>"", “id”=\>“2937”},  
“16”=\>{"\_delete"=\>“0”, “color\_id”=\>“14”, “id”=\>“2941”},  
“1”=\>{"\_delete"=\>“0”, “color\_id”=\>"", “id”=\>“2981”},  
“17”=\>{"\_delete"=\>“0”, “color\_id”=\>“14”, “id”=\>“1897”},  
“2”=\>{"\_delete"=\>“0”, “color\_id”=\>"", “id”=\>“2961”},  
“18”=\>{"\_delete"=\>“0”, “color\_id”=\>“16”, “id”=\>“2929”},  
“3”=\>{"\_delete"=\>“0”, “colo\_id”=\>“2”, “id”=\>“2909”},  
“19”=\>{"\_delete"=\>“0”, “color\_id”=\>“17”, “id”=\>“2945”},  
“20”=\>{"\_delete"=\>“0”, “color\_id”=\>“18”, “id”=\>“2957”},  
“4”=\>{"\_delete"=\>“0”, “color\_id”=\>“2”, “id”=\>“1893”},  
“10”=\>{"\_delete"=\>“0”, “color\_id”=\>“8”, “id”=\>“2993”},  
“21”=\>{"\_delete"=\>“0”, “color\_id”=\>“21”, “id”=\>“2933”},  
“5”=\>{"\_delete"=\>“0”, “color\_id”=\>“3”, “id”=\>“1901”}  
})

This takes 15 seconds.

The workaround I found is  
product.attributes = “pictures\_attributes”=\>{  
“6”=\>{"\_delete"=\>“0”, “color\_id”=\>“3”, “id”=\>“2953”},  
“11”=\>{"\_delete"=\>“0”, “color\_id”=\>“9”, “id”=\>“2921”},  
“22”=\>{"\_delete"=\>“0”, “color\_id”=\>“24”, “id”=\>“2977”},  
“7”=\>{"\_delete"=\>“0”, “color\_id”=\>“4”, “id”=\>“2965”},  
“12”=\>{"\_delete"=\>“0”, “color\_id”=\>“10”, “id”=\>“2949”},  
“23”=\>{"\_delete"=\>“0”, “color\_id”=\>“27”, “id”=\>“2969”},  
“8”=\>{"\_delete"=\>“0”, “color\_id”=\>“5”, “id”=\>“2917”},  
“13”=\>{"\_delete"=\>“0”, “color\_id”=\>“11”, “id”=\>“2913”},  
“24”=\>{"\_delete"=\>“0”, “color\_id”=\>“28”, “id”=\>“2985”},  
“9”=\>{"\_delete"=\>“0”, “color\_id”=\>“7”, “id”=\>“2989”},  
“14”=\>{"\_deete"=\>“0”, “color\_id”=\>“12”, “id”=\>“2973”},  
“25”=\>{"\_delete"=\>“0”, “color\_id”=\>“77”, “id”=\>“2997”},  
“15”=\>{"\_delete"=\>“0”, “color\_id”=\>“13”, “id”=\>“2925”},  
“0”=\>{"\_delete"=\>“0”, “color\_id”=\>"", “id”=\>“2937”},  
“16”=\>{"\_delete"=\>“0”, “color\_id”=\>“14”, “id”=\>“2941”},  
“1”=\>{"\_delete"=\>“0”, “color\_id”=\>"", “id”=\>“2981”},  
“17”=\>{"\_delete"=\>“0”, “color\_id”=\>“14”, “id”=\>“1897”},  
“2”=\>{"\_delete"=\>“0”, “color\_id”=\>"", “id”=\>“2961”},  
“18”=\>{"\_delete"=\>“0”, “color\_id”=\>“16”, “id”=\>“2929”},  
“3”=\>{"\_delete"=\>“0”, “colo\_id”=\>“2”, “id”=\>“2909”},  
“19”=\>{"\_delete"=\>“0”, “color\_id”=\>“17”, “id”=\>“2945”},  
“20”=\>{"\_delete"=\>“0”, “color\_id”=\>“18”, “id”=\>“2957”},  
“4”=\>{"\_delete"=\>“0”, “color\_id”=\>“2”, “id”=\>“1893”},  
“10”=\>{"\_delete"=\>“0”, “color\_id”=\>“8”, “id”=\>“2993”},  
“21”=\>{"\_delete"=\>“0”, “color\_id”=\>“21”, “id”=\>“2933”},  
“5”=\>{"\_delete"=\>“0”, “color\_id”=\>“3”, “id”=\>“1901”}  
})  
product.save false

This is fast but I am not sure this is the right way.  
Is there a better way?

Thanks.

Sam
