Forum: Rails-ES Error al componer variable

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Fernando González Macías (Guest)
on 2008-11-18 18:53
(Received via mailing list)
Ya encontrado el error.

Componía la variable dentro del módulo de descarga -def pdf_descarga-,
pero al realizar validación en el modelo en el create era necesario,
componer la variable dentro del "def create", y con anterioridad al "if
@descarga.save".


Saludos y gracias.

________________________________

De: Fernando González Macías
Enviado el: mar 11/18/2008 10:38
Para: La lista sobre Ruby On Rails (rubyonrails.com) en castellano
Asunto:



Hola.



Estoy haciendo una aplicación que permite descargase unos documentos en
pdf. El caso es que quiero validar que el documento seleccionado
-formado por Dia+Mes+Año+NombrePublicacion-, realmente existe en el
directorio. El caso es que intento hacer la validación en el modelo, con
un validate_on_create.



El problema es que la variable global $nombre_publicacion no se me
actualiza, aunque cambie la fecha y siempre obtengo el mensaje de error
de que el fichero no existe, pero con el nombre de fichero de la primera
selección que realizo.



Por otra parte, querría preguntar una cosa que ya pregunté hace algún
tiempo, pero no me quedó clara, y es saber, si desde una aplicación
Rails, se puede acceder a un fichero que esté situado fuera de
RAILS_ROOT y sus subcarpetas. Yo ahora mismo tengo las publicaciones en
RAILS_ROOT\public\publicaciones, pero me interesaría un repositorio
distinto y que la aplicación, pudiera acceder a los ficheros en dicho
repositorio.







Parte del código del controlador:





class DescargasController < ApplicationController



def pdf_descarga



  $nombre_publicacion =
@removed_email_address@domain.invalid("%b")removed_email_address@domain.invalid("%y")removed_email_address@domain.invalid+".pdf"

   send_file("#{RAILS_ROOT}/public/publicaciones/#{$nombre_publicacion}",
:type => "application/pdf")

end





def create







     @descarga = Descarga.new(params[:descarga])

     @publicacion = Publicacion.find(params[:descarga][:publicacion_id])



      respond_to do |format|

      if @descarga.save



        pdf_descarga



        return

        #format.html { redirect_to(@descarga) }

        #format.xml  { render :xml => @descarga, :status => :created,
:location => @descarga }

      else

        format.html { render :action => "new" }

        format.xml  { render :xml => @descarga.errors, :status =>
:unprocessable_entity }

      end

    end

  end





end





Fernando González Macías

removed_email_address@domain.invalid
This topic is locked and can not be replied to.