У меня есть приложение rails, где мне нужна форма для связи.Я использую gem mail_form, и я могу отправлять почту с консоли rails, но не из формы. Следил за несколькими видео и уроками, но, похоже, ни один из них не работает в этом вопросе.
Контроллер:
class ContactsController < ApplicationController
def new
@contact = Contact.new
end
def create
@contact = Contact.new(contacts_params)
@contact.request = request
if @contact.deliver
flash.now[:notice] = 'Thank you for your message. We will contact you soon!'
else
flash.now[:alert] = 'Cannot send message'
render :new
end
end
protected
def contacts_params
params.require(:contact).permit(:name, :email, :message)
end
end
В журнале сервера contact.rb
class Contact < MailForm::Base
attribute :name, :validate => true
attribute :email, :validate => /\A([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})\z/i
attribute :file, :attachment => true
attribute :message
attribute :nickname, :captcha => true
# Declare the e-mail headers. It accepts anything the mail method
# in ActionMailer accepts.
def headers
{
:subject => "My Contact Form",
:to => "tcunha_lp@hotmail.com",
:from => %("#{name}" <#{email}>)
}
end
end
отображаются:
Started POST "/contacts" for 127.0.0.1 at 2019-02-19 11:40:45 +0000
Processing by ContactsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"yLolqR/aOQ1T75HJr4f+DlGwbw6e67FwVoLuWNr/MIs2PdFbdx/626SUqTjw0xbb+9xmy4zg2mzZKYt9XXYNdA==", "contact"=>{"name"=>"", "email"=>"", "message"=>""}, "commit"=>"Send"}
Rendering contacts/new.html.erb within layouts/application
Rendered contacts/new.html.erb within layouts/application (4.6ms)
Rendered layouts/_navbar.html.erb (0.7ms)
Rendered layouts/_header.html.erb (53.4ms)
Rendered layouts/_navbar.html.erb (0.2ms)
Rendered layouts/_footer.html.erb (51.8ms)
Completed 200 OK in 767ms (Views: 761.6ms | ActiveRecord: 0.0ms)
Конфигурация env должна быть в порядке, так как я могу отправлять почту из консоли ..
Есть идеи?