El nombre de archivo Carrierwave sigue cambiando en update_attributes
Tengo un modelo de empresa y la compañía ha montado el logotipo de cargador de onda portadora.
class Company < ActiveRecord::Base
mount_uploader :logo, LogoUploader
La carga de imágenes funciona, pero tengo un problema con update_attributes. Cuando el usuario desea actualizar solo la descripción o el título de la empresa, pero no cargar una nueva imagen, el valor del nombre de archivo en la base de datos todavía se cambia cada vez. Aquí hay un ejemplo simple:
1.9.3-p545 :004 > a = Company.last
1.9.3-p545 :005 > a.update_attributes(:title => "test title 2")
(0.4ms) BEGIN
Company Exists (0.9ms) SELECT 1 AS one FROM `companies` WHERE (`companies`.`title` = BINARY 'test title 2' AND `companies`.`id` != 37) LIMIT 1
Company Load (0.7ms) SELECT `companies`.* FROM `companies` WHERE `companies`.`id` = 37 LIMIT 1
(0.7ms) UPDATE `companies` SET `title` = 'test title 2', `logo` = '1396206630_1f288be4.jpg', `updated_at` = '2014-03-30 19:10:30' WHERE `companies`.`id` = 37
(8.1ms) COMMIT
=> true
¿Por qué el logotipo se actualiza aquí con un nuevo valor, incluso si el nuevo valor no se dio? ¿Cómo evitar esto?