Обзор того, что я пытаюсь сделать, - это повторно отправить электронное письмо «активировать учетную запись» пользователю по его запросу. Как правило, пользователь регистрируется и получает электронное письмо с кодом активации, которое отлично работает. Вот код в модели пользователя, который отправляет письмо активации при создании временного пользователя:
def deliver_activation(invitation = nil)
Mailer.activation(self, invitation).deliver
end
Что я хочу сделать, так это предложить пользователю способ щелкнуть ссылку, чтобы повторно отправить активацию, если он потерял ее или по какой-либо причине не получил ее. Если пользователь пытается войти без предварительной активации, страница на моем сайте сообщает, что он еще не активирован. Я хотел бы предложить им ссылку для повторной отправки этого письма с кодом активации:
<%= link_to "click here to resend" %>
Я просто не уверен, что это безопасный / оптимальный способ сделать это. Если это сделано через POST с user_id для отправки электронного письма, оно открыто для людей, отправляющих всем моим пользователям ссылку для активации. Как я могу разрешить пользователю повторно отправлять себе электронную почту? Я предполагаю, что мне нужно добавить что-то в один из моих контроллеров, чтобы вызвать это действие delivery_activation в моей модели ... но я не уверен как.