From 8e6c6d854cdedad4bc082cf45a01d411ea26fb68 Mon Sep 17 00:00:00 2001 From: Alexey Zapparov Date: Mon, 30 May 2016 02:15:18 +0200 Subject: Pass request params to ActionMailer::Preview --- railties/lib/rails/mailers_controller.rb | 8 +++++++- railties/lib/rails/templates/rails/mailers/email.html.erb | 6 +++--- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'railties/lib') diff --git a/railties/lib/rails/mailers_controller.rb b/railties/lib/rails/mailers_controller.rb index 000ce40fbc..7ff55ef5bf 100644 --- a/railties/lib/rails/mailers_controller.rb +++ b/railties/lib/rails/mailers_controller.rb @@ -6,6 +6,8 @@ class Rails::MailersController < Rails::ApplicationController # :nodoc: before_action :require_local!, unless: :show_previews? before_action :find_preview, only: :preview + helper_method :part_query + def index @previews = ActionMailer::Preview.all @page_title = "Mailer Previews" @@ -19,7 +21,7 @@ class Rails::MailersController < Rails::ApplicationController # :nodoc: @email_action = File.basename(params[:path]) if @preview.email_exists?(@email_action) - @email = @preview.call(@email_action) + @email = @preview.call(@email_action, params) if params[:part] part_type = Mime::Type.lookup(params[:part]) @@ -76,4 +78,8 @@ class Rails::MailersController < Rails::ApplicationController # :nodoc: @email end end + + def part_query(mime_type) + request.query_parameters.merge(part: mime_type).to_query + end end diff --git a/railties/lib/rails/templates/rails/mailers/email.html.erb b/railties/lib/rails/templates/rails/mailers/email.html.erb index c63781ed0c..89c1129f90 100644 --- a/railties/lib/rails/templates/rails/mailers/email.html.erb +++ b/railties/lib/rails/templates/rails/mailers/email.html.erb @@ -98,8 +98,8 @@ <% if @email.multipart? %>
<% end %> @@ -107,7 +107,7 @@ <% if @part && @part.mime_type %> - + <% else %>

You are trying to preview an email that does not have any content. -- cgit v1.2.3