mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Move default_form_builder to ActionView so it'll work in environments not using ActionView::Base
This commit is contained in:
@@ -488,7 +488,7 @@ module ActionView
|
||||
object_name = ActionController::RecordIdentifier.singular_class_name(object)
|
||||
end
|
||||
|
||||
builder = options[:builder] || ActionView::Base.default_form_builder
|
||||
builder = options[:builder] || ActionView.default_form_builder
|
||||
yield builder.new(object_name, object, self, options, block)
|
||||
end
|
||||
|
||||
@@ -1054,9 +1054,21 @@ module ActionView
|
||||
end
|
||||
end
|
||||
|
||||
class << Base
|
||||
class << ActionView
|
||||
attr_accessor :default_form_builder
|
||||
end
|
||||
|
||||
Base.default_form_builder = ::ActionView::Helpers::FormBuilder
|
||||
self.default_form_builder = ::ActionView::Helpers::FormBuilder
|
||||
|
||||
# 2.3 compatibility
|
||||
class << Base
|
||||
def default_form_builder=(builder)
|
||||
ActionView.default_form_builder = builder
|
||||
end
|
||||
|
||||
def default_form_builder
|
||||
ActionView.default_form_builder
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -1024,8 +1024,8 @@ class FormHelperTest < ActionView::TestCase
|
||||
end
|
||||
|
||||
def test_default_form_builder
|
||||
old_default_form_builder, ActionView::Base.default_form_builder =
|
||||
ActionView::Base.default_form_builder, LabelledFormBuilder
|
||||
old_default_form_builder, ActionView.default_form_builder =
|
||||
ActionView.default_form_builder, LabelledFormBuilder
|
||||
|
||||
form_for(:post, @post) do |f|
|
||||
concat f.text_field(:title)
|
||||
@@ -1042,7 +1042,7 @@ class FormHelperTest < ActionView::TestCase
|
||||
|
||||
assert_dom_equal expected, output_buffer
|
||||
ensure
|
||||
ActionView::Base.default_form_builder = old_default_form_builder
|
||||
ActionView.default_form_builder = old_default_form_builder
|
||||
end
|
||||
|
||||
def test_default_form_builder_with_active_record_helpers
|
||||
|
||||
Reference in New Issue
Block a user