Por lo tanto, he comprobado todas las respuestas existentes a preguntas similares aquí en stackoverflow y en otros lugares, pero no puedo conseguir que la gema mail_form funcione según lo anunciado.Error al utilizar los rieles Mail_form gem: "forma de correo constante no inicializada"
Aquí está la configuración: estoy tratando de crear un formulario simple de captura de leads para el sitio web de mi compañía. Deseo enviar por correo electrónico los datos recopilados mediante el formulario a mi cuenta de correo electrónico sin un back-end de base de datos y pensé que eso es lo que mail_form facilitaría.
Aquí es mi modelo, ContactForm.rb
:
class ContactForm < Mailform::Base
attribute :name, :validate => true
attribute :email, :validate => /\A([\w\.%\+\-]+)@([\w]{2,})\z/i
attribute :file, :attachment => true
attribute :phone
attribute :referral
attribute :message
attribute :nickname, :captcha => true
def persisted?
false
end
def headers
{
:subject => "New Lead",
:to => "[email protected]",
:from => %("#{name}" <#{email}>)
}
end
end
Y aquí está mi controlador, contact_forms_controller.rb
:
class ContactFormsController < ApplicationController
def new
@contact_form = ContactForm.new
end
def create
begin
@contact_form = ContactForm.new(params[:contact_form])
@contact_form.request = request
if @contact_form.deliver
flash.now[:notice] = 'Thank you for your interest!'
redirect_to root_path
else
render :new
end
rescue ScriptError
flash[:error] = 'Sorry, something was wrong'
end
end
end
Y aquí es mi punto de vista, contact_forms/new.html.erb
:
<%= form_for @contact_form do |f| %>
<div class="field">
<%= f.label :name %>
<%= f.text_field :name, :required => true %>(required)<br /><br><br>
</div>
<div class="field">
<%= f.label :email %>
<%= f.email_field :email, :required => true %>(required)
<br /><br><br>
</div>
<div class="field">
<%= f.label :phone %>
<%= f.phone_field :phone %><br /><br><br>
</div>
<div class="field">
How did you hear about us?:<br /> <%= f.text_field :referral
%><br /><br><br>
</div>
<div class="field">
Comments (What types of wine are you
interested in?):<br/<%= f.text_area :message %><br /><br><br>
</div>
<div class="field">
Submit: <%= f.submit "Create" %>
</div>
<% end %>
estoy bastante nuevo en los rieles y la programación web en general, así que bien podría ser que yo soy m emitiendo algo REALMENTE básico aquí que no se menciona en ningún tutorial en línea. He recorrido toda la documentación de mail_form y cada tutorial y respuesta que puedo encontrar y sigo recibiendo el error.
¡Oh sí! También recibo el error si pruebo ContactForm.new en la consola de rails. ¡Cualquier ayuda sería muy apreciada!
Oh, sí, la versión 3.1.1 Carriles
Su archivo de modelo debe llamarse 'contact_form.rb', esa es la convención de los rieles. También menciona un error, ¿podría agregarlo a su pregunta? –