Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/02/2009, 14:31
iuranchita
 
Fecha de Ingreso: enero-2008
Ubicación: Santiago
Mensajes: 49
Antigüedad: 16 años, 3 meses
Puntos: 4
Problema con update

Hola
estoy haciendo una aplicacion que, aunque sé que no es lo más recomendado, tiene que almacenar archivos en una BD.

Tengo una tabla repos que contiene archivos, su nombre, el tipo.
en modelo tengo lo siguiente:

def file_info=(input_data)
if input_data.blank?
errors.add('Debe seleccionar una imagen' ) if input_data.blank?
else
self.nombre = input_data.original_filename
self.content_type = input_data.content_type.chomp
self.archivo = input_data.read
end
end

...yo selecciono el desde un file_field en la vista y al crearlo extrae
el nombre y el tipo de datos llenandolos en la tabla.

Bueno en el create no tengo ningun problema, pero a la hora de
actualizar, simplemente no funciona.Es decir, no obtiene el nombre del
archivo ni el tipo de datos, lo cual provoca que corrompa el archivo que
ya está almacenado.


Tengo esto en el controller (lo generé con scaffold):

def update
@repo = Repo.find(params[:id])
respond_to do |format|
if @repo.update_attributes(params[:repo])
flash[:notice] = 'El archivo fue editado exito.'
format.html { redirect_to(@repo) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @repo.errors, :status =>
:unprocessable_entity }
end
end
end

...he probado todo lo que se me ha ocurrido pero no me sale.
He leído un monton pero no logro comprender bien todo esto.


Gracias de antemano.

Saludos!!