diff options
author | Tarmo Tänav <tarmo@itech.ee> | 2008-10-06 17:35:21 +0300 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2008-10-07 00:12:20 +0100 |
commit | 51b986619d88f7ba98be7d271188785cbbb541a0 (patch) | |
tree | e0fbc752ec252c8a1bef0a5cd96db9a3dd999fa3 | |
parent | 8e50f0f96ef53ee8cc7ffa86ce0e71cc357b2b6c (diff) | |
download | rails-51b986619d88f7ba98be7d271188785cbbb541a0.tar.gz rails-51b986619d88f7ba98be7d271188785cbbb541a0.tar.bz2 rails-51b986619d88f7ba98be7d271188785cbbb541a0.zip |
Implement submit_to_remote as a wrapper around a more generic button_to_remote
Removed the "return false" from submit_to_remote onclick end as
button input elements have no default behavior to cancel.
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
-rw-r--r-- | actionpack/CHANGELOG | 2 | ||||
-rw-r--r-- | actionpack/lib/action_view/helpers/prototype_helper.rb | 18 | ||||
-rw-r--r-- | actionpack/test/template/prototype_helper_test.rb | 6 |
3 files changed, 11 insertions, 15 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index 54ea93fb72..4de93a10c4 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *Edge* +* Make PrototypeHelper#submit_to_remote a wrapper around PrototypeHelper#button_to_remote. [Tarmo Tänav] + * Set HttpOnly for the cookie session store's cookie. #1046 * Added FormTagHelper#image_submit_tag confirm option #784 [Alastair Brunton] diff --git a/actionpack/lib/action_view/helpers/prototype_helper.rb b/actionpack/lib/action_view/helpers/prototype_helper.rb index ff41a6d417..a3eccc741d 100644 --- a/actionpack/lib/action_view/helpers/prototype_helper.rb +++ b/actionpack/lib/action_view/helpers/prototype_helper.rb @@ -405,7 +405,7 @@ module ActionView # # Generates: <input name="create_btn" onclick="new Ajax.Request('/testing/create', # # {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form)}); # # return false;" type="button" value="Create" /> - # <%= button_to_remote 'create_btn', 'Create', :url => { :action => 'create' } %> + # <%= submit_to_remote 'create_btn', 'Create', :url => { :action => 'create' } %> # # # Submit to the remote action update and update the DIV succeed or fail based # # on the success or failure of the request @@ -413,24 +413,18 @@ module ActionView # # Generates: <input name="update_btn" onclick="new Ajax.Updater({success:'succeed',failure:'fail'}, # # '/testing/update', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form)}); # # return false;" type="button" value="Update" /> - # <%= button_to_remote 'update_btn', 'Update', :url => { :action => 'update' }, + # <%= submit_to_remote 'update_btn', 'Update', :url => { :action => 'update' }, # :update => { :success => "succeed", :failure => "fail" } # # <tt>options</tt> argument is the same as in form_remote_tag. - # - # Note: This method used to be called submit_to_remote, but that's now just an alias for button_to_remote - def button_to_remote(name, value, options = {}) + def submit_to_remote(name, value, options = {}) options[:with] ||= 'Form.serialize(this.form)' - options[:html] ||= {} - options[:html][:type] = 'button' - options[:html][:onclick] = "#{remote_function(options)}; return false;" - options[:html][:name] = name - options[:html][:value] = value + html_options = options.delete(:html) || {} + html_options[:name] = name - tag("input", options[:html], false) + button_to_remote(value, options, html_options) end - alias_method :submit_to_remote, :button_to_remote # Returns '<tt>eval(request.responseText)</tt>' which is the JavaScript function # that +form_remote_tag+ can call in <tt>:complete</tt> to evaluate a multiple diff --git a/actionpack/test/template/prototype_helper_test.rb b/actionpack/test/template/prototype_helper_test.rb index a1f541fd7b..d6b86a3964 100644 --- a/actionpack/test/template/prototype_helper_test.rb +++ b/actionpack/test/template/prototype_helper_test.rb @@ -218,9 +218,9 @@ class PrototypeHelperTest < PrototypeHelperBaseTest end - def test_button_to_remote - assert_dom_equal %(<input name=\"More beer!\" onclick=\"new Ajax.Updater('empty_bottle', 'http://www.example.com/', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form)}); return false;\" type=\"button\" value=\"1000000\" />), - button_to_remote("More beer!", 1_000_000, :update => "empty_bottle") + def test_submit_to_remote + assert_dom_equal %(<input name=\"More beer!\" onclick=\"new Ajax.Updater('empty_bottle', 'http://www.example.com/', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form)});\" type=\"button\" value=\"1000000\" />), + submit_to_remote("More beer!", 1_000_000, :update => "empty_bottle") end def test_observe_field |