Email Subscriptions

A public mailing list signup for non-authenticated visitors.

Model (app/models/subscription.rb)

  • email – required, unique, validated with URI::MailTo::EMAIL_REGEXP
  • ahoy_visit_id – required; links to Ahoy visit for analytics tracking

Controller (app/controllers/info/subscriptions_controller.rb)

PublicController with:

  • show – confirmation page
  • create – creates subscription

Spam protection uses the same honeypot pattern as the contact form (hidden website, telephone, address fields). The controller finds or creates an Ahoy::Visit record and associates the subscription with it.

Routes

resources :subscriptions, only: [:create, :show]

Admin

Subscriptions are viewable in ActiveAdmin with email and visit filters.


This site uses Just the Docs, a documentation theme for Jekyll.