aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view/helpers/prototype_helper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_view/helpers/prototype_helper.rb')
-rw-r--r--actionpack/lib/action_view/helpers/prototype_helper.rb10
1 files changed, 6 insertions, 4 deletions
diff --git a/actionpack/lib/action_view/helpers/prototype_helper.rb b/actionpack/lib/action_view/helpers/prototype_helper.rb
index db36f3de5f..9a58f41821 100644
--- a/actionpack/lib/action_view/helpers/prototype_helper.rb
+++ b/actionpack/lib/action_view/helpers/prototype_helper.rb
@@ -409,7 +409,8 @@ module ActionView
class JavaScriptGenerator
def initialize(context, &block) #:nodoc:
@context, @lines = context, []
- include_helpers_from_context
+ # removed because those methods were overriding valid generator methods
+ # include_helpers_from_context
@context.instance_exec(self, &block)
end
@@ -567,7 +568,7 @@ module ActionView
# Starts a script.aculo.us visual effect. See
# ActionView::Helpers::ScriptaculousHelper for more information.
- def visual_effect(name, id, options = {})
+ def visual_effect(name, id = nil, options = {})
record @context.send(:visual_effect, name, id, options)
end
@@ -791,7 +792,7 @@ module ActionView
append_enumerable_function!("zip(#{arguments.collect { |a| a.to_json } * ', '}")
if block
function_chain[-1] += ", function(array) {"
- yield @generator, ActiveSupport::JSON::Variable.new('array')
+ yield ActiveSupport::JSON::Variable.new('array')
add_return_statement!
@generator << '});'
else
@@ -811,7 +812,8 @@ module ActionView
def enumerable_method(enumerable, variable, yield_params, &block)
add_variable_assignment!(variable) if variable
append_enumerable_function!(enumerable)
- yield *([@generator] + yield_params.collect { |p| JavaScriptVariableProxy.new(@generator, p) })
+ # only yield as many params as were passed in the block
+ yield *yield_params.collect { |p| JavaScriptVariableProxy.new(@generator, p) }[0..block.arity-1]
add_return_statement! if variable
@generator << '});'
end