提交 d270da56 编写于 作者: S Santiago Pastorino

changed from :object_name to :as on form_for api

上级 1f7b4447
......@@ -300,16 +300,16 @@ def form_for(record_or_name_or_array, *args, &proc)
case record_or_name_or_array
when String, Symbol
ActiveSupport::Deprecation.warn("Use the option :object_name => ... instead of a Symbol or String as a the first argument", caller)
ActiveSupport::Deprecation.warn("Using form_for(:name, @resource) is deprecated. Please use form_for(@resource, :as => :name) instead.", caller) unless args.empty?
object_name = record_or_name_or_array
when Array
object = record_or_name_or_array.last
object_name = options[:object_name] || ActionController::RecordIdentifier.singular_class_name(object)
object_name = options[:as] || ActionController::RecordIdentifier.singular_class_name(object)
apply_form_for_options!(record_or_name_or_array, options)
args.unshift object
else
object = record_or_name_or_array
object_name = options[:object_name] || ActionController::RecordIdentifier.singular_class_name(object)
object_name = options[:as] || ActionController::RecordIdentifier.singular_class_name(object)
apply_form_for_options!([object], options)
args.unshift object
end
......@@ -327,12 +327,12 @@ def apply_form_for_options!(object_or_array, options) #:nodoc:
html_options =
if object.respond_to?(:persisted?) && object.persisted?
{ :class => options[:object_name] ? "#{options[:object_name]}_edit" : dom_class(object, :edit),
:id => options[:object_name] ? "#{options[:object_name]}_edit" : dom_id(object, :edit),
{ :class => options[:as] ? "#{options[:as]}_edit" : dom_class(object, :edit),
:id => options[:as] ? "#{options[:as]}_edit" : dom_id(object, :edit),
:method => :put }
else
{ :class => options[:object_name] ? "#{options[:object_name]}_new" : dom_class(object, :new),
:id => options[:object_name] ? "#{options[:object_name]}_new" : dom_id(object),
{ :class => options[:as] ? "#{options[:as]}_new" : dom_class(object, :new),
:id => options[:as] ? "#{options[:as]}_new" : dom_id(object),
:method => :post }
end
......
......@@ -8,4 +8,4 @@ class TagHelperTest < BlockTestCase
assert_equal "<form action=\"/blah/update\" method=\"post\"></form>", output
end
end
end
\ No newline at end of file
end
......@@ -440,7 +440,7 @@ def test_form_for
end
def test_form_for_with_symbol_object_name
form_for(@post, :object_name => "other_name", :html => { :id => 'create-post' }) do |f|
form_for(@post, :as => "other_name", :html => { :id => 'create-post' }) do |f|
concat f.label(:title)
concat f.text_field(:title)
concat f.text_area(:body)
......@@ -504,12 +504,10 @@ def test_form_for_with_remote
end
def test_form_for_without_object
assert_deprecated do
form_for(:post, :html => { :id => 'create-post' }) do |f|
concat f.text_field(:title)
concat f.text_area(:body)
concat f.check_box(:secret)
end
form_for(:post, :html => { :id => 'create-post' }) do |f|
concat f.text_field(:title)
concat f.text_area(:body)
concat f.check_box(:secret)
end
expected =
......@@ -603,10 +601,8 @@ def test_submit_with_object_as_existing_record_and_locale_strings
def test_submit_without_object_and_locale_strings
old_locale, I18n.locale = I18n.locale, :submit
assert_deprecated do
form_for(:post) do |f|
concat f.submit :class => "extra"
end
form_for(:post) do |f|
concat f.submit :class => "extra"
end
expected = "<form action='http://www.example.com' method='post'>" +
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册