Sha256: 2579ebedc1b8f115df99ce00b12ffc4bbce1524bcbe2be26b30201009116da6e
Contents?: true
Size: 1.54 KB
Versions: 6
Compression:
Stored size: 1.54 KB
Contents
# frozen_string_literal: true # :markup: markdown module ActionController # # Action Controller Form Builder # # Override the default form builder for all views rendered by this controller # and any of its descendants. Accepts a subclass of # ActionView::Helpers::FormBuilder. # # For example, given a form builder: # # class AdminFormBuilder < ActionView::Helpers::FormBuilder # def special_field(name) # end # end # # The controller specifies a form builder as its default: # # class AdminAreaController < ApplicationController # default_form_builder AdminFormBuilder # end # # Then in the view any form using `form_with` or `form_for` will be an # instance of the specified form builder: # # <%= form_with(model: @instance) do |builder| %> # <%= builder.special_field(:name) %> # <% end %> module FormBuilder extend ActiveSupport::Concern included do class_attribute :_default_form_builder, instance_accessor: false end module ClassMethods # Set the form builder to be used as the default for all forms in the views # rendered by this controller and its subclasses. # # #### Parameters # * `builder` - Default form builder, an instance of # ActionView::Helpers::FormBuilder def default_form_builder(builder) self._default_form_builder = builder end end # Default form builder for the controller def default_form_builder self.class._default_form_builder end end end
Version data entries
6 entries across 6 versions & 1 rubygems