0

嗨,我已将 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' }
4

1 回答 1

2

如果您没有配置类似 sendmail 的实用程序,则无法直接从 localhost 发送电子邮件。

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

检查下面的问题

从本地主机发送电子邮件

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

Rails Mailer:将电子邮件发送到本地文件

于 2012-08-16T04:35:50.170 回答