我在spec/mailer/previews
. 在development
我可以查看下的所有预览/rails/mailers/
。但是,默认情况下,此功能在其他环境中不存在。
我想在staging
环境中启用它,并从这里的这篇文章中排队。
我做了以下更改 -
配置/路由.rb
# Add the routes manually
if Rails.env.staging?
get "/rails/mailers" => "rails/mailers#index"
get "/rails/mailers/*path" => "rails/mailers#preview"
end
配置/环境/staging.rb
Rails.application.configure do
# Define the mailer preview path
config.action_mailer.preview_path = "spec/mailers/previews"
# Specifically add that path and all files under it to the autoload paths
config.autoload_paths = Dir["#{config.root}/#{config.action_mailer.preview_path}/**"]
end
class ::Rails::MailersController
include Rails.application.routes.url_helpers
# Override the method just for this controller so `MailersController` thinks
# all requests are local.
def local_request?
true
end
end
但是在登台时,我在尝试加载/rails/mailers
页面时收到以下错误 -
LoadError (No such file to load -- spec/mailers/previews/admin_mailer_preview):
奇怪的是……那个文件确实存在。当我检查暂存文件的自动加载路径时,该文件肯定在数组/列表中。
对这里可能发生的事情有什么想法,或者我应该如何公开那个端点?
谢谢!