【发布时间】:2019-10-26 18:32:57
【问题描述】:
我尝试预览设计邮件,但它不起作用。
我已经关注了这个rails guide,看起来并不难,而且要做的事情很多。
设计已经有一个邮件类here
所以我只需要创建一个预览文件,这就是我目前所做的。
我在存储库 app/views/users/mailer/ 中生成了我的设计视图
我有我的devise.rb,看起来像这样
Devise.setup do |config|
# ==> Mailer Configuration
# Configure the e-mail address which will be shown in Devise::Mailer,
# note that it will be overwritten if you use your own mailer class
# with default "from" parameter.
config.mailer_sender = 'please-change-me-at-config-initializers-devise@example.com'
# Configure the class responsible to send e-mails.
config.mailer = 'Devise::Mailer'
# Configure the parent class responsible to send e-mails.
#config.parent_mailer = 'ActionMailer::Base'
end
我有我的test/mailers/previews/devise_mailer_preview.rb
class DeviseMailerPreview< ActionMailer::Preview
def confirmation_instructions
Devise::Mailer.confirmation_instructions(User.first, "faketoken")
end
def reset_password_instructions
Devise::Mailer.reset_password_instructions(User.first, "faketoken")
end
end
我没有在我的application.rb 中更改路径config.action_mailer.preview_path,因为test/mailers/previews 是默认路径
所以现在当我尝试访问http://localhost:3000/rails/mailers 时,我有一个白色的空白页面
如果我尝试http://localhost:3000/rails/mailers/users/mailer/confirmation_instructions 我有这个错误Mailer preview 'users/mailer/confirmation_instructions' not found
我尝试了许多不同的链接,但仍然有同样的错误,我也尝试关注这个stackoverflow answer,但没有成功。
这似乎很容易,但我无法成功......
【问题讨论】:
-
config.mailer = 'Devise::Mailer'提供了该问题的提示。您应该在设计目录中访问预览。也许你的班级应该是Devise::MailerPreview -
可惜还是不行……
标签: ruby-on-rails devise