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

Namespace

Module

Methods

Instance Public methods

default_form_builder()

Default form builder for the controller

📝 Source code
# File actionpack/lib/action_controller/form_builder.rb, line 51
    def default_form_builder
      self.class._default_form_builder
    end
🔎 See on GitHub