【问题标题】:Send email to all users from rails admin从 rails admin 向所有用户发送电子邮件
【发布时间】:2017-10-25 22:55:10
【问题描述】:

我在我的应用程序中添加了 rails_admin。现在我需要添加一个附加功能,即从 rails 应用程序向所有用户发送电子邮件。如何在 rails_admin 中添加新视图。目前我在 rails_admin.rb 中添加了一个新的静态菜单

config.navigation_static_links = {
'Compose' => '/admin/email'
}

但它在新选项卡中作为单独的视图打开,没有侧边栏、页脚、页眉等。 我想添加此功能,例如仪表板。请为我的问题提供一些有用的提示。提前致谢

【问题讨论】:

    标签: ruby-on-rails rails-admin


    【解决方案1】:

    您可能需要为您的Admin 角色创建RailsAdmin 定义为Action 的内容,并确保使用Devise 正确管理admin 身份验证

    您可以实现一种使用ActionMailer 发送电子邮件的方法,我从Hitham S.AlQadheeb 引用following post 的解决方案。 Go check his post for more info.

    对于邮件方法的每次调用,都会在调度的工作人员中发送一封电子邮件

    def calling_method
       @users.each do |user|
         send_digest(user.email, user.name)
       end
    end
    

    在用户邮件中

    def send_digest(user_email, user_name)
       mail(to: user_email, subject: user_name)
    end
    

    【讨论】:

    • 目前,我已经添加了路由,并且在 admin_controller 中定义了一个方法来使用 ActionMailer 向用户发送邮件。邮件是管理员登录的通用功能,而不是模型操作。所以需要在标题选项卡中显示链接。
    • 我还创建了视图,管理员可以在其中提供邮件的主题和内容。但它是在一个新选项卡中打开的。我想用 rails admin side bar、header 等在同一个选项卡中显示它
    【解决方案2】:

    【讨论】:

    • 如果我们在 rails_admin 中为模型添加新操作。要应用更改,我们是否必须重新启动生产服务器?我在 lib 文件夹中添加了一个自定义操作并包含在 rails_admin.rb 配置文件中
    • 是的,你必须重启开发和生产服务器。
    猜你喜欢
    • 2013-12-03
    • 1970-01-01
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 2015-09-25
    相关资源
    最近更新 更多