の下にいくつかのメーラーのプレビューがありspec/mailer/previews
ます。development
で、下のすべてのプレビューを表示できます/rails/mailers/
。ただし、デフォルトでは、この機能は他の環境には存在しません。
私は環境でそれを有効にしたかったので、この投稿staging
からキューを取りましたここ.
次の変更を加えました-
config/routes.rb
# Add the routes manually
if Rails.env.staging?
get "/rails/mailers" => "rails/mailers#index"
get "/rails/mailers/*path" => "rails/mailers#preview"
end
config/environments/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):
奇妙なことに、そのファイルは確実に存在します。そして、ステージング時にオートロードパスを確認すると、そのファイルは間違いなく配列/リストにあります。
ここで何が起こっているのか、またはそのエンドポイントを公開するにはどうすればよいかについて何か考えはありますか?
ありがとう!