将 letter_opener 与设计集成

Nor*_*han 3 devise ruby-on-rails-4

我目前正在使用 Devise gem 对我的 rails 应用程序进行身份验证,但在使用letter_opener gem时遇到了问题。我可以让它与标准邮件程序一起工作,但我不确定如何配置设计邮件程序以与 letter_opener 一起工作。

我如何配置 letter_opener 以便它可以与 Devise 发送的电子邮件一起使用?

小智 7

不知道它在 Rails 4.x 中如何,但在 Rails 5.1 中我是这样做的:

1) 安装

gem 'letter_opener_web', group: :development
Run Code Online (Sandbox Code Playgroud)

2)制作你的设计模型

confirmable
Run Code Online (Sandbox Code Playgroud)

这是链接https://github.com/plataformatec/devise/wiki/How-To:-Add-:confirmable-to-Users

3)添加这个配置

config.action_mailer.perform_deliveries = true
config.action_mailer.default_url_options = { host: 'localhost:3000' }
config.action_mailer.delivery_method = :letter_opener
Run Code Online (Sandbox Code Playgroud)

config/environments/development.rb
Run Code Online (Sandbox Code Playgroud)

在你的设计初始值设定项(config/initializers/devise.rb)

config.mailer_sender = 'foo@bar.com'
config.mailer        = Devise.mailer
Run Code Online (Sandbox Code Playgroud)

4) 不要忘记将你的 letter_opener 网络界面挂载到 routes.rb

mount LetterOpenerWeb::Engine, at: '/letter_opener' if Rails.env.development?
Run Code Online (Sandbox Code Playgroud)

这很好用。您的邮件将在

localhost:3000/letter_opener
Run Code Online (Sandbox Code Playgroud)