Class: DmCms::ContactFormController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- ApplicationController
- DmCms::ContactFormController
- Defined in:
- app/controllers/dm_cms/contact_form_controller.rb
Instance Method Summary collapse
-
#create ⇒ Object
Type of contact form object is specified by any param name that ends with ‘_contact_form’.
Instance Method Details
#create ⇒ Object
Type of contact form object is specified by any param name that ends with ‘_contact_form’. Also takes into account themes. ‘tech_contact_form’ => TechContactForm ‘theme_bogus_tech_contact_form’ => ThemeBogus::TechContactForm
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'app/controllers/dm_cms/contact_form_controller.rb', line 7 def create form_key = params.select {|key, v| key.end_with?('contact_form') }.first[0] if form_key.present? if form_key.start_with?('theme_') parts = form_key.split('_') part_module = parts[0...2].join('_') part_class = parts[2..-1].join('_') object = "#{part_module}/#{part_class}".camelize.constantize else part_class = form_key object = "#{part_class}".camelize.constantize end @contact = object.new(params[form_key]) if @contact.deliver flash.now[:notice] = I18n.t('cms.contact_form.sent') @contact = nil end end @partial_name = "liquid_tags/#{part_class || 'contact_form'}" end |