Подключение SendGrid к Heroku

Я создал новый Action Mailer, который позволит мне получать уведомления по электронной почте, когда кто-то нажимает кнопку «Нажмите, чтобы подключиться». Я следую учебнику и смог успешно настроить соединение с SendGrid на Heroku с помощью кнопки «связаться с нами». В настоящее время, когда я нажимаю кнопку, открывается приложение электронной почты на моем компьютере, а не приложение SendGrip.

пользователи/show.html.erb

<div class='container'>
<div class='row'>
    <div class='col-md-3 text-center'>
        <%= image_tag @user.profile.avatar.url, class: 'user-show-avatar' %>
    </div>
    <div class='col-md-6'>
        <h1><%= @user.profile.first_name %></h1>
        <h3><%= @user.profile.city %>, <%= @user.profile.state %>, <%= @user.profile.country %></h3>
        <div class='well profile-block profile-description'>
            <h4>Bio</h4>
            <p><%= @user.profile.bio %></p>
            <h4>Coding Languages</h4>
            <p><%= @user.profile.coding_languages %></p>
            <h4>Mentoring Needs</h4>
            <p><%= @user.profile.mentoring_needs %></p>
        </div class='connect_button'>
        <a class="btn btn-primary btn-lg btn-block active" href="mailto:[email protected]" role="button">Click to Connect</a>
    </div>
</div>

mailers/connection_mailer.rb

class ConnectionsMailer < ActionMailer::Base
    default to: '[email protected]'

    def connection_email(name, email, body)
        @name = name
        @email = email
        @body = body
        mail(from: email, subject: 'Jr. Dev Mentoring Connect Form Message')
    end
end

config/environment.rb

# Load the Rails application.
require File.expand_path('../application', __FILE__)

# Initialize the Rails application.
Rails.application.initialize!

ActionMailer::Base.smtp_settings = {
  :address => 'smtp.sendgrid.net',
  :port => '587',
  :authentication => :plain,
  :user_name => ENV['SENDGRID_USERNAME'],
  :password => ENV['SENDGRID_PASSWORD'],
  :domain => 'heroku.com',
  :enable_startstls_auto => true
}

Обновление: мне нужна кнопка внизу на users/show.html.erb, чтобы отправить пользователя в эту форму, а не открывать мое почтовое приложение. И тогда кнопка на этой странице должна подключиться к SendGrid.

просмотры/подключения/new.html.erb

 <div class="row">
  <div class="col-md-4 col-md-offset-4">
    <h1 class="text-center">Let's Connect</h1>
      <h5 class="text-center">I'd like to connect with...</h5> 
      <div class="well">
        <%= form_for @connection do |f| %>
          <div class="form-group">
            <%= f.label :your_name, "Your Name" %>
            <%= f.text_field :your_name, class: 'form-control' %>
          </div>
          <div class="form-group">
            <%= f.label :email, "Your Email" %>
            <%= f.email_field :email, class: 'form-control' %>
          </div>
          <div class="form-group">
            <%= f.label :comments, "Connection's Name" %>
            <%= f.text_area :connections_name, class: 'form-control' %>
          </div>

          <%= f.submit 'Submit', class: 'btn btn-default' %>
        <% end %>
      </div>
  </div>
</div>

person Kim    schedule 28.12.2015    source источник
comment
Возможный дубликат контроллера запуска рельсов от нажатия кнопки mailto?   -  person yez    schedule 28.12.2015
comment
Какому учебнику вы следуете?   -  person Laurens    schedule 28.12.2015
comment
@Laurens Coder Manual... Я использую учебник в качестве отправной точки для приложения, которое я создаю, поэтому эта функция является отклонением от руководства.   -  person Kim    schedule 28.12.2015


Ответы (2)


Вы должны создать форму и отправить параметры формы в действие в контроллере, в следующем сообщении есть все, что вам нужно: Рассылка контактной формы в Rails 4

person Laurens    schedule 28.12.2015
comment
Я перешел по предоставленной вами ссылке и другим безуспешно - person Kim; 29.12.2015

вы должны удалить mailto из href

<a class="btn btn-primary btn-lg btn-block active" 
href="mailto:[email protected]" role="button">Click to Connect</a>

вот почему открывает приложение электронной почты

person Chantal    schedule 17.10.2018