Adjuntar documento a un formulario de contacto en Rails 3.2

He creado un formulario de contacto que me enviará un correo electrónico una vez enviado. Ahora necesito poder tener la opción de adjuntar un documento que también se me enviará por correo electrónico. No necesito guardarlo en una base de datos, ya que estará con el correo electrónico y se descargará desde allí.

Soy nuevo en Rails, así que me gustaría ver qué han hecho otras personas en esta situación, he leído un poco y veo que necesitaré el clip de gemas en la mayoría de los casos. También he mirado jquery/paperclip en github pero esto parece mucho trabajo por lo que espero que sea un pequeño trabajo. Podría estar equivocado aquí, así que disculpas si lo estoy

Cualquier ayuda muy apreciada

preguntado el 22 de mayo de 12 a las 20:05

1 Respuestas

Lo que tendría que hacer es usar la gema carrierwave o la gema paperclip para cargar el archivo en una carpeta específica en su directorio público. Haría esto usando ajax que le permitirá cargar el archivo instantáneamente una vez que seleccione el archivo para enviar. Esto le permitiría cargar el archivo adjunto y tener la ruta del archivo conocida y lista, de modo que cuando haga clic en enviar, se ejecutará el siguiente código que le permitirá enviar el archivo. También puede agregar una línea de código para eliminar el archivo después de que se haya enviado correctamente si no desea acumular archivos en su servidor. Puede encontrar más documentación aquí.. http://guides.rubyonrails.org/action_mailer_basics.html#sending-emails-with-attachments

class ApplicationMailer < ActionMailer::Base
  def welcome(recipient)
    attachments['free_book.pdf'] = File.read('path/to/file.pdf')
    mail(:to => recipient, :subject => "New account information")
  end
end

contestado el 23 de mayo de 12 a las 15:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.