Rails 3"无法找到ActionMailer :: Base的动作'方法'

pra*_*oga 4 ruby-on-rails actionmailer ruby-on-rails-3

无法在rails 3中发送邮件.在浏览器中显示以下消息.

Unknown action

The action 'method' could not be found for ActionMailer::Base
Run Code Online (Sandbox Code Playgroud)

这是我写的代码.

  1. Notifier.rb

class Notifier < ActionMailer::Base 
  default :from => "xxxxx@gmail.com"
  default_url_options[:host] = "localhost.com:3000"

def welcome_email(user)
@user_email = user @url = root_url mail(:to => user.email, :subject => "Welcome to the site") end end

Run Code Online (Sandbox Code Playgroud)

2.UsersController.rb

 Notifier.welcome_email(@user).deliver
Run Code Online (Sandbox Code Playgroud)

  1. application.rb中

config.action_mailer.deliver_method = :smtp
    config.action_mailer.smtp_settings = {
      :address => "smtp.gmail.com",
      :port => 587,
      :domain => 'xxxxxxx.com',
      :user_name => 'xxxx@gmail.com',
      :password => 'xxxx',
      :authentication => 'plain',
      :enable_starttls_auto => true
    } 
Run Code Online (Sandbox Code Playgroud)

这是日志消息

AbstractController :: ActionNotFound(无法在ActionMailer :: Base中找到操作'方法'):
app/mailers/notifier.rb:1:in create'<top (required)>'
app/controllers/users_controller.rb:17:in

渲染C:救援内/Ruby192/lib/ruby/gems/1.9.1/gems/actionpack-3.0.5/lib/action_dispatch/middleware/templates/rescues/unknown_action.erb /布局(0.0ms)

Ant*_*nen 5

它的

config.action_mailer.delivery_method
Run Code Online (Sandbox Code Playgroud)

config.action_mailer.deliver_method
Run Code Online (Sandbox Code Playgroud)

.

我今天在配置中遇到了相同的拼写错误.