Devise Mailer未初始化的常数

时间:2018-08-08 09:56:54

标签: ruby-on-rails devise

我在本教程中都喜欢: https://github.com/plataformatec/devise/wiki/How-To:-Use-custom-mailer 在生产中一切正常,但在开发环境中我得到

NameError(未初始化的常数MyMailer):

operation: {
 inputFields: [
  {
    key: 'blockid', 
    type: 'string',
    label: 'Select Trigger',
    helpText: 'Pick the trigger in your Ultradox automation.',
    dynamic: 'blockid.id.title'
  }
 ],
...

在我设计的初始化器中 bootsnap (1.3.1) lib/bootsnap/load_path_cache/core_ext/active_support.rb:53:in `block in load_missing_constant' bootsnap (1.3.1) lib/bootsnap/load_path_cache/core_ext/active_support.rb:8:in `without_bootsnap_cache' bootsnap (1.3.1) lib/bootsnap/load_path_cache/core_ext/active_support.rb:53:in `rescue in load_missing_constant' bootsnap (1.3.1) lib/bootsnap/load_path_cache/core_ext/active_support.rb:42:in `load_missing_constant'

似乎只为生产而改变。

更新 所以关于这个

config.mailer = "MyMailer"'开发环境中

设置为config.eager_load = false时,一切正常,就像在生产中一样。

那是什么解决方法?我不确定是否应该这样设置。

mailers / mymailer.rb

true

1 个答案:

答案 0 :(得分:0)

在开发模式下,Rails尝试通过其名称查找(自动加载)类定义。确保MyMailer类在名为my_mailer.rb的文件中定义,并放置在自动加载类时由Rails搜索的目录之一,例如mailersmodels,{ {1}}。