Отправить электронное письмо вручную с определенной страницы в приложении rails - PullRequest
0 голосов
/ 05 апреля 2011

У меня есть базовое приложение, которое собирает данные о сбережениях для клиентов каждый квартал.Существует представление, которое показывает эти данные для каждого клиента по сравнению с другими данными клиента с помощью диаграмм и графиков.Я ищу простой способ реализовать кнопку (или что-то еще), которая позволяет мне вручную отправлять это представление клиенту в html-письме на мое усмотрение.Я нашел только учебники, показывающие, как отправлять электронные письма после регистрации или подтверждения типа письма.

1 Ответ

2 голосов
/ 05 апреля 2011
# app/mailers/user_mailer.rb
class UserMailer < ActionMailer
  def report
    @things = Thing.report_stuff
    mail :to => 'boss@example.com', :from => 'you@example.com', 
      :subject => 'that report you want'
  end
end

# app/views/user_mailer/report.html.erb
<h1>Report</h1>
<% @things.each do |thing| %>
  <%= thing.name %>
<% end %> 

# app/controllers/reports_controller.rb
def create
  UserMailer.report.deliver
  flash[:notice] = 'report sent!'
  redirect_to root_path # or wherever
end

# in a view
<% form_tag(reports_path, :method => :post) do %>
  <% submit_tag 'send report email' %>
<% end %>
...