Rails разработают почту - PullRequest
       16

Rails разработают почту

6 голосов
/ 23 ноября 2011

Я пытаюсь переопределить устройство, чтобы отправить почту для активации пользователя. В методе создания в контроллере регистрации у меня есть

urlEmail = resource.email.sub('@','-')
Pony.mail(
    :to => resource.email,
    :from => "noreply@mysite.com",
    :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>") )

Этот URL ведет к способу активации пользователя. Является ли это хорошим способом подтверждения учетной записи, не имеет значения. Проблема в том, что при запуске Pony.mail (...) я получаю эту ошибку

uninitialized constant RegistrationsController::Pony

Я установил pony, и Pony.mail работает в консоли. Я также пытался использовать require 'pony' в верхней части файла контроллера, но я получаю

no such file to load -- pony

Что мне нужно сделать, чтобы сделать эту работу.

1 Ответ

2 голосов
/ 23 ноября 2011

Это похоже на проблему с упаковщиком. Вы запускаете консоль в том же RAILS_ENV, что и тест вашего контроллера?

Попробуйте скопировать pony.rb в вашу библиотеку (из https://github.com/benprew/pony) и указать его в начале файла контроллера. Удалите gem "pony" из вашего Gemfile. bundle install. Выполните тест.

Если это поможет, вернитесь к bundler, удалите Gemfile.lock и запустите bundle install.

Если проблема не устранена, укажите ваш Gemfile здесь.

...