Der Carrierwave-Dateiname ändert sich bei update_attributes ständig

Ich habe Modellfirma und Firma hat Carrierwave-Uploader-Logo montiert.

class Company < ActiveRecord::Base
  mount_uploader :logo, LogoUploader

Das Hochladen von Bildern funktioniert, aber ich habe ein Problem mit update_attributes. Wenn der Benutzer nur die Beschreibung oder den Titel des Unternehmens aktualisieren, aber kein neues Bild hochladen möchte, wird der Wert für den Dateinamen in der Datenbank weiterhin jedes Mal geändert. Hier ist ein einfaches Beispiel:

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 

Warum wird das Logo hier mit neuem Wert aktualisiert, obwohl der neue Wert nicht angegeben wurde? Wie vermeide ich das?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage