2011-03-17 22 views
9

estoy usando clip para guardar imágenes en mi aplicación Rails:borrar una imagen con el Paperclip

modelo de usuario:

class User < ActiveRecord::Base 
    has_one :profile 
end 

Perfil modelo:

class Profile < ActiveRecord::Base 
    has_attached_file :avatar, :styles => {:medium => "300x300>", :thumb => "100x100>"} 
    belongs_to :user 
end 

intento eliminar la avatar con:

current_user.profile.avatar = nil 
current_user.profile.save 

pero no funciona. ¿Es posible?

Respuesta

13
profile = current_user.profile 
profile.avatar.destroy 
profile.save 

No se puede guardar el objeto de esta manera current_user.profile.save

+0

De esta manera, el archivo se elimina del sistema de archivos, pero el campo avatar_file_name no se ajusta a cero en la tabla de perfiles. Intento establecer manualmente el campo en cero con: current_user.profile.avatar_file_name = nil; current_user.profile.save; y no funciona –

+0

primero debe guardar su objeto. la respuesta se actualiza – fl00r

+0

@MarcoAntelmi, ¿dónde pones esta respuesta para que funcione? – jmcastel

Cuestiones relacionadas