2011-11-23 7 views
6

Im tratando de anular el dispositivo para enviar correo para activar a un usuario. En el método create en el controlador de registros tengo esteCarriles diseñar correo

urlEmail = resource.email.sub('@','-') 
Pony.mail(
    :to => resource.email, 
    :from => "[email protected]", 
    :subject => "Confirm Account", 
    :headers => { 'Content-Type' => 'text/html' }, 
    :body => ("<h1>Welcome To My Awesome Site</h1> 
       <p>follow this link to create your account</p> 
       <p>http://localhost:3000/confirm-me/stuff?=" + resource.confirmhash.to_s + "/" + urlEmail.to_s + "</p>")) 

Esta url conduce a un método para activar al usuario. Si esta es una buena forma de confirmar una cuenta, no viene al caso. El problema es que cuando el Pony.mail (...) se ejecuta me sale este error

uninitialized constant RegistrationsController::Pony 

he instalado en pony y Pony.mail trabaja en la consola. También traté de usar require 'pony' en la parte superior del archivo del controlador pero obtengo

no such file to load -- pony 

¿Qué debo hacer para que esto funcione?

+0

¿Tienes poni en el Gemfile? – eugen

+0

Asegúrate de incluir la gema 'pony' en tu entorno. 'Pony' declarado como módulo, por lo que si se incluye gema, la constante de Pony debería estar allí. –

+0

@MarkGuk estoy realmente en los rieles 3, lo instalé usando la instalación del paquete. – jack

Respuesta

2

Parece un problema con el bundler. ¿Ejecutas consola en el mismo RAILS_ENV que tu prueba de controlador?

Intente copiar pony.rb a su lib (desde https://github.com/benprew/pony) y solicítelo en la parte superior del archivo del controlador. Retire gem "pony" de su Gemfile. bundle install. Haz un examen.

Si es útil, vuelve al paquete, elimina Gemfile.lock y ejecuta bundle install.

Si todavía tiene este problema, incluya su Gemfile aquí.

+0

"¿Ejecutas consola en el mismo RAILS_ENV que tu prueba de controlador?" Todavía no soy lo suficientemente bueno como para saber lo que eso significa. (Me siento como un idiota.) De todos modos copié pony.rb así que ahora tengo lib/pony.rb. Pony está funcionando bien ahora. Gracias – jack

+0

más requirió 'pony' – jack

+0

@jack ejecutar 'bundle list' y comprobar si hay una gema de Pony. – rogal111

Cuestiones relacionadas