Skip to content

CultivateLabs/contact

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contact

A simple contact form engine. Just add the following to your gemfile:

gem 'flyover-contact'

Mount the engine in your routes file:

mount Contact::Engine, at: "/"

And add an initializer in config/initializers to set some details for the mailer:

Contact.configure do |config|
  config.from_email = "from@example.com"
  config.to_email = "to@example.com"
  config.subject = "New Contact Form Submission"
  config.success_message = "Success! Your message has been sent and we'll get back to you as soon as possible."
  config.base_controller = "::ApplicationController"
  config.contact_page_path = "contact"
end

As long as you have emails set up properly in your app, you will be able to visit /contact and see a simple contact form with validations that will send the info to the address you set in your initializer.

Multiple Forms

To add multiple forms to your site with different "to" email addresses and subjects, you can run rake db:migrate to install the contact_forms table. Just add records to the table with those settings. Then in your views, render the form_container partial with the form's GUID passed in as follows:

Contact::Form.create(to_email: "to@email.com", subject: "New Email!")

Then go into the database to get the Form's guid. It will be a random string like 13ag2302jg9jsf. Use that to render the form_container:

<%= render 'contact/messages/form_container', form: '13ag2302jg9jsf' %>

This project rocks and uses MIT-LICENSE.