2011-11-23 51 views
6

我試圖重寫設計爲了發送郵件來激活用戶。在註冊控制器中的創建方法我有這個Rails設計郵件

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(...)運行我得到這個錯誤

uninitialized constant RegistrationsController::Pony 

我已經安裝了小馬和Pony.mail工作在控制檯。我也嘗試在控制器文件的頂部使用require'pony',但是我得到了

no such file to load -- pony 

我需要做些什麼來完成這項工作。

+0

在Gemfile中有小馬嗎? – eugen

+0

Maka確定你已經爲你的環境包含了'小馬寶石'。 'Pony'聲明爲模塊,所以如果包括寶石,Pony常數應該在那裏。 –

+0

@MarkGuk im實際上在rails 3上,我使用bundle install進行安裝。 – 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