Class: Rails::MailersController
- Inherits:
-
ApplicationController
- Object
- ActionController::Metal
- ActionController::Base
- ApplicationController
- Rails::MailersController
- Defined in:
- railties/lib/rails/mailers_controller.rb
Overview
:nodoc:
Constant Summary
Constants inherited from ActionController::Base
ActionController::Base::MODULES, ActionController::Base::PROTECTED_IVARS
Instance Method Summary collapse
Methods inherited from ActionController::Base
Methods included from ActionController::Testing::Functional
#clear_instance_variables_between_requests, #recycle!
Instance Method Details
#download ⇒ Object
21 22 23 24 25 26 27 28 29 |
# File 'railties/lib/rails/mailers_controller.rb', line 21 def download @email_action = File.basename(params[:path]) if @preview.email_exists?(@email_action) @email = @preview.call(@email_action, params) send_data @email.to_s, filename: "#{@email_action}.eml" else raise AbstractController::ActionNotFound, "Email '#{@email_action}' not found in #{@preview.name}" end end |
#index ⇒ Object
16 17 18 19 |
# File 'railties/lib/rails/mailers_controller.rb', line 16 def index @previews = ActionMailer::Preview.all @page_title = "Mailer Previews" end |
#preview ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'railties/lib/rails/mailers_controller.rb', line 31 def preview if params[:path] == @preview.preview_name @page_title = "Mailer Previews for #{@preview.preview_name}" render action: "mailer" else @email_action = File.basename(params[:path]) if @preview.email_exists?(@email_action) @page_title = "Mailer Preview for #{@preview.preview_name}##{@email_action}" @email = @preview.call(@email_action, params) if params[:part] part_type = Mime::Type.lookup(params[:part]) if part = find_part(part_type) response.content_type = part_type render plain: part.respond_to?(:decoded) ? part.decoded : part else raise AbstractController::ActionNotFound, "Email part '#{part_type}' not found in #{@preview.name}##{@email_action}" end else @part = find_preferred_part(request.format, Mime[:html], Mime[:text]) render action: "email", layout: false, formats: [:html] end else raise AbstractController::ActionNotFound, "Email '#{@email_action}' not found in #{@preview.name}" end end end |