Module: ActionController::FormBuilder
Relationships & Source Files | |
Namespace Children | |
Modules:
| |
Extension / Inclusion / Inheritance Descendants | |
Included In:
Base ,
::ActionView::TestCase::TestController ,
Rails::ApplicationController,
::Rails::HealthController ,
Rails::InfoController,
Rails::MailersController,
Rails::PwaController,
Rails::WelcomeController
| |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
::ActiveSupport::Concern
|
|
Defined in: | actionpack/lib/action_controller/form_builder.rb |
Overview
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 %>
Class Method Summary
::ActiveSupport::Concern
- Extended
class_methods | Define class methods from given block. |
included | Evaluate given block in context of base class, so that you can write class macros here. |
prepended | Evaluate given block in context of base class, so that you can write class macros here. |
Instance Method Summary
-
#default_form_builder
Default form builder for the controller.
DSL Calls
included
[ GitHub ]34 35 36
# File 'actionpack/lib/action_controller/form_builder.rb', line 34
included do class_attribute :_default_form_builder, instance_accessor: false end
Instance Method Details
#default_form_builder
Default form builder for the controller
# File 'actionpack/lib/action_controller/form_builder.rb', line 51
def default_form_builder self.class._default_form_builder end