The features described here are an optional part of the Rails Connector up to version 6.9.1. If you wish to continue to use these features in a later version of the Rails Connector, you can find the corresponding source code in a Git-repository.
If the Rails Connector has been connected to the WebCRM, i.e. if the CRM Connector has been installed and activated, you can have your Rails application generate forms based on CRM activities. When the website visitor submits such a form, the Rails Connector creates an activity from it and passes this activity to the CRM. Thus, forms for customer requests, for event registration, and other tasks can be automatically created and are maintenance-free. The corresponding activities created in the WebCRM can be edited conveniently, or used for other purposes, e.g. for sending e-mails.
To create pages with such generated forms in the editorial system, you only require a file format named
CrmForm and a CMS file based on this format. Since a view is provided for this format, your Rails application will then generate a form for the
contact form activity type when the CMS file is delivered.
Technical Details and Refinement Options
The Rails application uses the supplied
CrmFormController controller to deliver the CMS file based on the
CrmForm format. In the view that belongs to this controller, the
CrmFormHelper is used for generating the form fields.
CrmFormController inherits from
DefaultCrmFormController. The latter has methods that can be overridden to change the default settings of the form to be created – e.g. the activity kind to be used (
The activity kind – the default is
contact form – determines the form fields the
CrmFormHelper generates, as well as the type of activity it creates in the WebCRM when the form is submitted. The helper generates form fields for all custom fields of the activity kind and, optionally, a form field for the activity title. By means of a callback (
allow_custom_attribute?), the creation of a form field for a custom field can be suppressed.
To create form pages with a different layout in the CMS, you can create and use individual formats as alternatives or complementary to
CrmForm. If, for example, you would like to deliver an event registration form using you individual
CrmEventForm format, you only need to define the
CrmEventFormController class as a subclass of
RailsConnector::DefaultCrmFormController in your Rails application. To change the behavior of your
CrmEventFormController, override its methods. For details on creating and extending new controllers, please refer to sections Dedicated Controllers for Specific CMS File Formats and Customizing the Rails Connector.
You can now design the page by editing the view associated with the new controller subclass. In this view, the form fields can be generated using the