0
我正在使用careerfoundry's教程使用Sendgrid發送電子郵件與Heroku。我在頁面控制器中使用他們的用戶郵件的確切代碼和thank_you動作。這段代碼大部分工作。問題是,在主題行我收到我的收件箱是這樣的:Sendgrid電子郵件與Rails名稱
來自#{name}的
User_Mailer.rb
class UserMailer < ActionMailer::Base
default from: "[email protected]"
def contact_form(email, name, message)
@message = message
mail(:from => email,
:to => '[email protected]',
:subject => "A new contact form message from #{name}")
end
end
聯繫表
新聯繫人表單消息<%= form_tag("/thank_you") do %>
<div class="row">
<div class="col-md-4">
<div class="input-group">
<%= text_field_tag :name, nil, class: 'form-control', placeholder: 'Name' %>
</div>
</div>
<div class="col-md-8">
<div class="input-group">
<span class="input-group-addon" id="basic-addon1">@</span>
<%= text_field_tag :email, nil, class: 'form-control', placeholder: 'Email' %>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<div class="input-group text-area-wide">
<%= text_area_tag :message, nil, class: 'form-control text-area-wide', placeholder: 'Message' %>
</div>
</div>
</div>
<br>
<%= submit_tag 'Send Message', class: 'btn btn-success' %>
<% end %>
頁控制器
def thank_you
@name = params[:name]
@email = params[:email]
@message = params[:message] || "Hello!"
# Only try to send this email on a POST
# if request.post?
# or make a feedback form controller and send in the create action
# ActionMailer::Base.mail(FOR TEST PURPOSES
# :from => @email,
# :to => '[email protected]',
# :subject => "A new contact form message from #{@name}",
# :body => @message).deliver
UserMailer.contact_form(@email, @name, @message).deliver
end
這兩種方法你建議工作。第二個建議中的單引號是沒有必要的。顯然,雙引號是字符串插值工作所必需的。 –
很好聽,我不得不記住這些。對我來說,開始使用這種符號對我來說不會有什麼壞處。 – cmw2379