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?