123456789_123456789_123456789_123456789_123456789_

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:
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

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

[ GitHub ]

  
# File 'actionpack/lib/action_controller/form_builder.rb', line 51

def default_form_builder
  self.class._default_form_builder
end