2011-11-23 4 views
6

메일을 보내 사용자를 활성화시키려는 의도가 있습니다. 등록 컨트롤러의 create 메소드에서 this가 있습니다레일스가 메일을 고안합니다.

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>")) 

이 url은 사용자를 활성화하는 방법으로 연결됩니다. 이것이 계정을 확인하는 좋은 방법인지는 그 요점입니다. 문제는 Pony.mail (...)이 실행될 때 내가이 오류 난 조랑말을 설치하고 Pony.mail 콘솔에서 작동

uninitialized constant RegistrationsController::Pony 

를 얻을 수 있다는 것입니다. 나는 또한 컨트롤러 파일의 상단에 요구 '조랑말'을 사용하여 시도했지만, 내가 얻을

no such file to load -- pony 

이 작업을 수행하려면 어떻게해야합니까.

+0

Gemfile에 조랑말이 있습니까? – eugen

+0

당신의 환경에'조랑말'보석을 포함 시켰 으면 좋겠다. 'Pony'는 모듈로 선언되었으므로 보석이 포함되면 Pony 상수가 있어야합니다. –

+0

@MarkGuk 실제로 3 번 레일에 번들 설치를 사용하여 설치했습니다. – jack

답변

2

번들러 문제입니다. 컨트롤러 테스트와 동일한 RAILS_ENV에서 콘솔을 실행합니까?

pony.rb를 lib (https://github.com/benprew/pony)에 복사하고 컨트롤러 파일 맨 위에 붙여 넣으십시오. Gemfile에서 gem "pony"을 제거하십시오. bundle install. 테스트 해.

도움이 필요하면 번들러로 돌아가서 Gemfile.lock을 제거하고 bundle install을 실행하십시오.

여전히이 문제가있는 경우 여기에 사용자의 Gemfile을 포함하십시오.

+0

"컨트롤러 테스트와 동일한 RAILS_ENV에서 콘솔을 실행합니까?" 아직 그 의미가 무엇인지를 알기에는 충분하지 않습니다. (나는 바보처럼 느껴진다.) 어쨌든 나는 pony.rb를 복사 했으므로 lib/pony.rb를 가지고있다. 조랑말은 이제 잘 작동합니다. 감사합니다 – jack

+0

플러스 나는 '조랑말'을 요구했습니다 – jack

+0

@jack'묶음 목록'을 실행하고 조랑말 보석이 있는지 확인하십시오. – rogal111

관련 문제