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::InfoController, Rails::MailersController, 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_for will be an instance of the specified form builder:

<%= form_for(@instance) do |builder| %>
  <%= builder.special_field(:name) %>
<% end %>

Class Method Summary

Instance Method Summary

DSL Calls

included

[ GitHub ]


30
31
32
# File 'actionpack/lib/action_controller/form_builder.rb', line 30

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 46

def default_form_builder
  self.class._default_form_builder
end