使用现有模板预填充Rails Mailer消息

时间:2013-11-20 16:42:38

标签: ruby-on-rails actionmailer

我设置了邮件程序,因此当用户点击“提交邮件”按钮时,与该操作相关联的模板将发送给相应的人员。我想做的是首先允许他们在发送之前编辑电子邮件。我有一个模态设置来弹出一个电子邮件表单,但我希望“消息”text_area预先填充邮件模板。

这是包含我的提交按钮的显示页面:

...
...
<% if user_in_engineering? %>
  <button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#submitModal">
  Submit for Approval
  </button>
  <%= button_to "Close ECN", {action: "close", :id => @ecn.id}, :onclick => "return confirm('Once an ECN is closed it can no longer be edited, are you sure you want to close this ECN?')" %>
  <%= link_to 'Edit', edit_ecn_path(@ecn) %>
<% end %> |
<%= link_to 'Back', ecns_path %>



<!-- Modal -->
<div class="modal fade" id="submitModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">X</button>
        <h4 class="modal-title" id="myModalLabel">Edit ECN Approval Email</h4>
      </div>
      <div class="modal-body">
        <%= render 'submit_email_fields' %>
      </div>
      <div class="modal-footer">
        <%= button_to "Submit for Approval", {action: "submit", :id => @ecn.id}, type: "button", class: "btn btn-primary"  %>
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

Modal呈现此页面:

<%= form_tag :action => 'submit' %>
<p><label for="email_subject">Subject</label>
<%= text_field 'email', 'subject' %></p>
<p><label for="email_recipient">Recipients</label>
<%= text_field 'email', 'recipient' %></p>
<p><label for="email_message">Message</label><br/>
<%= text_area 'email', 'message', value: @message %></p>
<%= submit_tag "Send" %>
<%= form_tag %>

我有一个名为submitted.text.erb的模板,它位于我的邮件程序视图文件夹中,我想要的是该文本出现在模态的消息文本区域中,然后我想我可以处理路由周围的参数。

1 个答案:

答案 0 :(得分:0)

似乎是一个古老的问题,但我正在解决这个问题,我以这种方式破解了它。

在我的控制器中    @message = Mailer.method(变量).body

在我看来    &lt;%= text_area'email','message',值:@message%&gt;