加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

rails 4生产中的电子邮件预览

发布时间:2020-12-16 19:33:39 所属栏目:百科 来源:网络整理
导读:我使用rails 4.1.1和ActionMailer :: Preview来预览电子邮件.在开发环境中,一切都很好. 但在生产环境中,无法访问预览路径.我将预览存储在test / mailers / previews /中 是否有可能使它们生产? 解决方法 除此之外: config.action_mailer.show_previews = t
我使用rails 4.1.1和ActionMailer :: Preview来预览电子邮件.在开发环境中,一切都很好.

但在生产环境中,无法访问预览路径.我将预览存储在test / mailers / previews /中

是否有可能使它们生产?

解决方法

除此之外:
config.action_mailer.show_previews = true

你还需要设置

config.consider_all_requests_local = true

在您的环境中可以访问预览路由.这也有其他含义(见https://stackoverflow.com/a/373135/1599045),因此您可能不希望在生产中启用此功能.但是,如果您有一个不是开发的自定义环境,那么这两者的组合应该让事情有效.

编辑添加:

最初的问题是rails 4.1.1,它没有config.action_mailer.show_previews可用.要在Rail 4.1.1中的非开发环境中运行ActionMailer预览,您需要先向config / routes.rb添加一些路由(在这种情况下,我的环境名为custom):

if Rails.env.custom?
  get '/rails/mailers'         => "rails/mailers#index"
  get '/rails/mailers/*path'   => "rails/mailers#preview"
end

然后,您需要自动加载环境配置文件中所需的库(在我的情况下,config / environments / custom.rb):

config.action_mailer.preview_path ||= defined?(Rails.root) ? "#{Rails.root}/test/mailers/previews" : nil
config.autoload_paths += [config.action_mailer.preview_path]

这似乎执行与config.action_mailer.show_previews相同的任务.

与4.2一样,您仍需要调整本地请求配置,具体取决于您的自定义环境是在本地使用还是在服务器上使用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读