diff --git a/lib/active_decorator/monkey/action_view/partial_renderer.rb b/lib/active_decorator/monkey/action_view/partial_renderer.rb index c4f45d5f..3a2e7d96 100644 --- a/lib/active_decorator/monkey/action_view/partial_renderer.rb +++ b/lib/active_decorator/monkey/action_view/partial_renderer.rb @@ -23,6 +23,21 @@ def setup_with_decorator(context, options, block) #:nodoc: alias_method_chain :setup, :decorator end + + # patch for : <%= render template: 'my_view', :locals => {:foo => foo} %> + class ActionView::TemplateRenderer + def render_template_with_decorator(template, layout_name = nil, locals = {}) #:nodoc: + # apply decorate for locals + locals.values.each do |v| + ActiveDecorator::Decorator.instance.decorate v + end unless locals.blank? + + render_template_without_decorator(template, layout_name, locals) + end + + alias_method_chain :render_template, :decorator + end + else class ActionView::Partials::PartialRenderer include ActiveDecorator::ActionViewExtension