未找到预览设计邮件程序
Preview devise mailer not found
我尝试预览 devise mailer,但它不起作用。
我已经按照这个 rails guide 看起来并不难,还有很多事情要做。
设计已经有一个邮件程序 class 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
我尝试了很多不同的 link 但仍然有同样的错误,我也尝试遵循这个 Whosebug answer 但没有成功。
看起来很容易,但我做不到...
好的,我找到原因了。
因为我正在使用 gem rspec-rails
存储库 test
被替换为 tp spec
我只需要将我的 test/mailers/previews/devise/mailer_preview.rb
移动到 spec/mailers/previews/devise/mailer_preview.rb
而仍然不需要更改 config/application.rb
的配置
希望对一些人有所帮助
另请注意,在 rails 6 中,您的设计邮件预览应使用模块编写
module Devise
class MailerPreview< 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
end
移动邮件文件夹对我有用!
我尝试预览 devise mailer,但它不起作用。
我已经按照这个 rails guide 看起来并不难,还有很多事情要做。
设计已经有一个邮件程序 class 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
我尝试了很多不同的 link 但仍然有同样的错误,我也尝试遵循这个 Whosebug answer 但没有成功。
看起来很容易,但我做不到...
好的,我找到原因了。
因为我正在使用 gem rspec-rails
存储库 test
被替换为 tp spec
我只需要将我的 test/mailers/previews/devise/mailer_preview.rb
移动到 spec/mailers/previews/devise/mailer_preview.rb
而仍然不需要更改 config/application.rb
希望对一些人有所帮助
另请注意,在 rails 6 中,您的设计邮件预览应使用模块编写
module Devise
class MailerPreview< 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
end
移动邮件文件夹对我有用!