Added submit_to_remote helper

This commit is contained in:
Bob Remeika
2009-11-04 23:18:15 -08:00
committed by Stefan Penner
parent 67b73ff272
commit 8c43c11a9d
2 changed files with 21 additions and 1 deletions

View File

@@ -48,6 +48,16 @@ module ActionView
tag(:input, attributes)
end
def submit_to_remote(name, value, options = {})
html_options = options.delete(:html) || {}
html_options.merge!(:name => name, :value => value, :type => "submit")
attributes = extract_remote_attributes!(options)
attributes.merge!(html_options)
tag(:input, attributes)
end
def periodically_call_remote(options = {})
attributes = extract_observer_attributes!(options)
attributes["data-js-type"] = "periodical_executer"

View File

@@ -332,7 +332,7 @@ end
class ButtonToRemoteTest < AjaxTestCase
def button(options, html = {})
button_to_remote("Remote outpost", options, html)
button_to_remote("RemoteOutpost", options, html)
end
def url_for(*)
@@ -355,6 +355,16 @@ class ButtonToRemoteTest < AjaxTestCase
end
end
class SubmitToRemoteTest < AjaxTestCase
test "basic" do
expected = %(<input class="fine" type="submit" name="foo" value="bar" data-url="/url/hash" data-js-type="remote" data-update-success=".klass" />)
options = { :url => {:action => "whatnot"}, :update => ".klass", :html => { :class => "fine" } }
assert_dom_equal expected,
submit_to_remote("foo", "bar", options)
end
end
class ScriptDecoratorTest < AjaxTestCase
def decorator()
script_decorator("data-js-type" => "foo_type", "data-foo" => "bar", "data-baz" => "bang")