Foros del Web » Programando para Internet » Ruby »

Problema con update

Estas en el tema de Problema con update en el foro de Ruby en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 02/02/2009, 13:31
 
Fecha de Ingreso: enero-2008
Ubicación: Santiago
Mensajes: 49
Antigüedad: 10 años, 4 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!!
  #2 (permalink)  
Antiguo 02/02/2009, 13:35
 
Fecha de Ingreso: enero-2008
Ubicación: Santiago
Mensajes: 49
Antigüedad: 10 años, 4 meses
Puntos: 4
Respuesta: Problema con update

lo olvidaba...
ya traté con el plugin attachment_fu y tampoco me dio solucion
  #3 (permalink)  
Antiguo 03/02/2009, 12:39
 
Fecha de Ingreso: enero-2008
Ubicación: Santiago
Mensajes: 49
Antigüedad: 10 años, 4 meses
Puntos: 4
Respuesta: Problema con update

solucionado
  #4 (permalink)  
Antiguo 19/06/2009, 12:31
 
Fecha de Ingreso: junio-2009
Mensajes: 9
Antigüedad: 9 años
Puntos: 0
Respuesta: Problema con update

@iuranchita que bueno que esta funcionando. Chekea la gema "paperclip" para file uploads. A mi me ha ido muy bien con ella.
  #5 (permalink)  
Antiguo 13/08/2009, 08:39
 
Fecha de Ingreso: noviembre-2008
Mensajes: 4
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Problema con update

Cita:
Iniciado por iuranchita Ver Mensaje
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!!
ok
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:30.