尝试在Rails中创建一个新的AdminUser:active_admin但无法收到发送的电子邮件

时间:2012-08-16 04:33:50

标签: ruby-on-rails ruby devise activeadmin devise-confirmable

您好我已将active_admin添加到我的rails应用中。我想创建一个新的AdminUser。

根据此文档,我尝试创建用户并让应用发送电子邮件。用户在应用程序中创建得很好,但没有发送电子邮件。我想知道是否有人可以给我建议为什么这不起作用。我已经仔细检查了我的代码以及文档应该如何说明。

发送电子邮件我错过了什么?

以下是相关课程

管理员/ admin_users.rb

ActiveAdmin.register AdminUser do

index do
  column  :email
  column  :current_sign_in_at
  column  :last_sign_in_at
  column  :sign_in_count
  default_actions
end

form do |f|
    f.inputs "Admin Details" do
      f.input :email
    end
    f.buttons
 end
end

模型/ admin_user.rb

class AdminUser < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :token_authenticatable, :confirmable,
  # :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, 
     :recoverable, :rememberable, :trackable, :validatable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation, :remember_me

  after_create { |admin| admin.send_reset_password_instructions }
    def password_required?
      new_record? ? false : super
    end


    before_destroy :raise_if_last
     def raise_if_last
      if AdminUser.count < 2
        raise "Can't delete last admin user"
      end
    end

end

配置/环境/ development.rb

..........
 #Added per active admin install instructions
  config.action_mailer.default_url_options = { :host => 'localhost:3000' }

1 个答案:

答案 0 :(得分:2)

如果您还没有像实用程序那样配置sendmail,那么

从localhost发送电子邮件不会直接发挥作用。

您可以使用SMTP发送电子邮件

检查下面的问题

send email from localhost

或者您可以将电子邮件写入文件

Rails Mailer: sending emails to a local file