2011-11-23 122 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