Mail Form objects belong to the models part in the model-view-controller architecture, as they receive the information sent through a form and deliver it to a recipient specified by the business model. Let’s structure Mail Form in the same way Active Record works: we’ll provide a class named MailForm::Base that contains the most common features we expect in a model, such as the ability to specify attributes, and seamless integration with Rails forms. As we did in the previous chapter, let’s use rails plugin to create our new plug-in:
$ rails plugin new mail_form
Our first feature is to implement a class method called attributes that allows a developer to specify which attributes the Mail Form object contains. Let’s create ...