【发布时间】:2016-03-10 13:28:55
【问题描述】:
为了在邮件程序中使用自定义帮助方法,我必须定义一个模块并创建一个方法,如下所示,
# app/helpers/mailer_helper.rb
module MailerHelper
def format_email_template
# body..
end
end
然后我不得不告诉Devise 使用这个帮助模块。经过一番研究,我找到了一个解决方案,应该在config/initializers/devise.rb文件中提到如下,
# config/initializers/devise.rb
# Already exists
Devise.setup do |config|
# Some configuration settings
end
# I added this
# If I don't add this, helper methods are not at all available in the mailer views
Devise::Mailer.class_eval do
helper :mailer
end
这很好用,我可以在 devise 邮件视图中使用辅助方法。
但问题是它有时会抛出错误Undefined method :format_email_template for view class。然后我不得不重新启动我的本地服务器以使其工作。这种情况经常发生。
为什么在开发服务器 (WEBrick) 中会发生这种情况?
注意:- 此作品可在生产框中找到。但我有点担心它是否也会出现在生产中。
【问题讨论】:
-
你能发布完整的堆栈跟踪吗?
标签: ruby ruby-on-rails-4 devise actionmailer