Como validar que un file_field no quede en blanco

hola de nuevo, estoy haciendo una pequeña aplicacion que sube archivos,
utilizando un codigo que vi por alli. mi problema esta en como validar
que no me dejen el campo de texto para el nombre del archivo en
blanco…

<%= file_field ‘upload’, ‘datafile’, :size => 60 %>

ese es mi text field

esto es lo que tiene mi controlador

def upload
post = Datafile.save(@params[“upload”])
estructura_archivo = @params[“upload”]
nombre = estructura_archivo[‘datafile’].original_filename
end

y esto que sigue mi modelo.
def self.save(upload)
name = upload[‘datafile’].original_filename
directory = “public/data/informe_falla”
# create the file path
path = File.join(directory, name)
# write the file
File.open(path, “wb”) { |f| f.write(upload[‘datafile’].read) }

end

el problema en si es que el metodo original_filename con el que obtengo
el nombre del archivo no esta definido para cuando viene en blanco.
quisiera saber si puedo validar utilizando un parametro del file_field,
o inevitablemente tendre que hacerlo a mano con java script o algo
similar.

Hola Jesus, las validaciones se especifican en el modelo:

class Datafile < ActiveRecord::base
#attr_accesor :upload → Esto lo haces si ese campo no existe en tu
tabla
y solo lo empleas para el proposito de subir el archivo
validates_presence_of :upload
end

en el controlador:

def create
@data_file = Datafile.new(params[:datafile])
if @data_file.valid?

end
end

Te recomiendo que cojas un buen libro de Rails, me da la impresion que
estas
con 38 de fiebre;).

Saludos.

El día 27/02/08, Jesus M. [email protected]
escribió:

gracias por la ayuda, tengo un par de libros aca pero no dicen nada
sobre este tipo de cosas como manejo de archivos por eso pregunto a la
gente que sabe =D