我在本教程中都喜欢: 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
答案 0 :(得分:0)
在开发模式下,Rails尝试通过其名称查找(自动加载)类定义。确保MyMailer
类在名为my_mailer.rb
的文件中定义,并放置在自动加载类时由Rails搜索的目录之一,例如mailers
,models
,{ {1}}。