모델 회사와 회사가 carrierwave uploader 로고를 마운트했습니다.update_attributes에서 Carrierwave 파일명이 계속 바뀌고 있습니다.
class Company < ActiveRecord::Base
mount_uploader :logo, LogoUploader
이미지 업로드가 작동하지만 update_attributes와 관련된 문제가 있습니다. 사용자가 회사의 설명이나 제목 만 업데이트하고 새 이미지는 업로드하지 않으려는 경우 - DB의 파일 이름 값이 매번 변경됩니다. 다음은 간단한 예입니다.
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
새 값이 주어지지 않아도 로고가 새 값으로 업데이트되는 이유는 무엇입니까? 이것을 피하는 방법?
새 파일 이름 또는 기존 파일 이름으로'DB의 파일 이름 값은 계속 변경됩니다 '? 업데이트하기 전에 원본 파일 이름은 무엇입니까? '1396206630_1f288be4.jpg'가 새로운 파일 이름이라는 것을 의미합니까? –
새 파일 이름이 있습니다. 새로운 파일은 업로드되지 않았지만. – Povkys