2013-02-22 48 views
1

我試圖刪除上傳的文件(使用複選框)時刪除模型中的文件屬性。該文件被正確刪除,但不是屬性。有人能幫我嗎?我不想在模型中移動這段代碼。我認爲它必須駐留在上傳器中。使用Carrierwave刪除模型上的屬性內容和回調

# DocumentUploader.rb 

# Hooks 
before :cache, :update_file_attributes 
after :remove, :remove_file_attributes 

private 

def update_file_attributes(file) 
    model.file_name = file.original_filename 
    model.file_size = file.size 
    model.mime_type = file.content_type 
end 

def remove_file_attributes 
    %w(file_name file_size mime_type).each { |attr| model[attr] = "" } 
end 

回答

0

剛纔自己提出這個問題。我把它在我的應用程序做的工作,類似,像這樣:

def remove_file_attributes 
    model.file_name = "" 
    model.file_size = "" 
    model.mime_type = "" 

    model.save 
end 

猜測你會工作得很好了,但是你只需要添加「model.save」。 注意:完成後,我的數據庫中的字段爲NULL,不是空字符串(這對我來說很好)。