2012-03-11 59 views
0

我嘗試使用郵件發送郵件時收到以下錯誤。我有一個允許用戶填寫姓名,電子郵件和信息的表格。點擊提交按鈕發送到ContactsController的send_mail操作。嘗試發送郵件時未定義的方法記錄器

[2012-03-11 14:31:00] ERROR NoMethodError: undefined method `logger' for ActionMailer::Base:Class 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/actionmailer-3.2.2/lib/action_mailer/log_subscriber.rb:17:in `logger 
' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/actionpack-3.2.2/lib/action_view/template.rb:285:in `to_proc' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/activesupport-3.2.2/lib/active_support/log_subscriber.rb:76:in `map' 

     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/activesupport-3.2.2/lib/active_support/log_subscriber.rb:76:in `flus 
hable_loggers' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/activesupport-3.2.2/lib/active_support/log_subscriber.rb:84:in `flus 
h_all!' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/railties-3.2.2/lib/rails/rack/logger.rb:28:in `call_app' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/railties-3.2.2/lib/rails/rack/logger.rb:16:in `call' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/actionpack-3.2.2/lib/action_dispatch/middleware/request_id.rb:22:in 
`call' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in `call' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/runtime.rb:17:in `call' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/activesupport-3.2.2/lib/active_support/cache/strategy/local_cache.rb 
:72:in `call' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/lock.rb:15:in `call' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/actionpack-3.2.2/lib/action_dispatch/middleware/static.rb:61:in `cal 
l' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/railties-3.2.2/lib/rails/engine.rb:479:in `call' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/railties-3.2.2/lib/rails/application.rb:220:in `call' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/content_length.rb:14:in `call' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/railties-3.2.2/lib/rails/rack/log_tailer.rb:14:in `call' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/handler/webrick.rb:59:in `service' 
     C:/dev/tools/Ruby187/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' 
     C:/dev/tools/Ruby187/lib/ruby/1.8/webrick/httpserver.rb:65:in `run' 
     C:/dev/tools/Ruby187/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' 
     C:/dev/tools/Ruby187/lib/ruby/1.8/webrick/server.rb:162:in `start' 
     C:/dev/tools/Ruby187/lib/ruby/1.8/webrick/server.rb:162:in `start_thread' 
     C:/dev/tools/Ruby187/lib/ruby/1.8/webrick/server.rb:95:in `start' 
     C:/dev/tools/Ruby187/lib/ruby/1.8/webrick/server.rb:92:in `each' 
     C:/dev/tools/Ruby187/lib/ruby/1.8/webrick/server.rb:92:in `start' 
     C:/dev/tools/Ruby187/lib/ruby/1.8/webrick/server.rb:23:in `start' 
     C:/dev/tools/Ruby187/lib/ruby/1.8/webrick/server.rb:82:in `start' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/handler/webrick.rb:13:in `run' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/server.rb:265:in `start' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/railties-3.2.2/lib/rails/commands/server.rb:70:in `start' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/railties-3.2.2/lib/rails/commands.rb:55 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/railties-3.2.2/lib/rails/commands.rb:50:in `tap' 
     C:/dev/tools/Ruby187/lib/ruby/gems/1.8/gems/railties-3.2.2/lib/rails/commands.rb:50 
     script/rails:6:in `require' 
     script/rails:6 

我的控制器看起來像:

class ContactsController < ApplicationController 
    def mail 

    end 

    def send_mail 
    ContactMailer.email(params[:email], params[:name], params[:message]).deliver 
    end 
end 

我的郵件是這樣的:

class ContactMailer < ActionMailer::Base 
    default :from => "<from>" 

    def email(email, name, message) 
    @message = message 
    mail(:to => "<email>", :subject => "<message>" + name, :from => email) 
    end 
end 
+0

我參加了一個應該查看development.log,發現這個: NameError(未初始化常量的Mail :: TestMailer): 應用程序/郵寄/ contact_mailer.rb:1個 應用程序/控制器/ contacts_controller.rb:7:' send_mail' 另一件需要注意的事情是,我在一個不同的項目中做了幾乎完全相同的事情,它的工作原理。這必須是配置問題。 – SchraderMJ11 2012-03-11 19:48:17

回答

2

的問題是,有項目一類中重寫郵件。如果有人遇到同樣的問題,只需刪除或重命名郵件類/模型。

相關問題