Создайте модель для вашего контактного сообщения.Что-то вроде:
class ContactEmail
attr_accessor :name, :email, message
end
Затем include ActiveModel::Model
, чтобы получить подтверждение ActiveModel и сообщить модели, какие поля проверять, например:
class ContactEmail
include ActiveModel::Model
attr_accessor :name, :email, message
validates :name, :email, message, presence: true
end
Наконец, в действии контроллера создайте новыйОбратитесь по электронной почте с данными формы и вызовите метод предиката valid?
.И используйте flash
, чтобы добавить сообщение об ошибке.
new_mail = ContactEmail.new(params['name'], params['email'], params['message'])
if new_mail.valid?
...
else
flash.now[:error] = new_mail.errors.full_messages
end