From e9f0c69f155f40a4a4127e876e27305dfc6e3f53 Mon Sep 17 00:00:00 2001 From: ccocchi Date: Thu, 13 Sep 2012 16:05:29 +0200 Subject: [PATCH] Default template to render can be defined per controller --- lib/rabl-rails/responder.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/rabl-rails/responder.rb b/lib/rabl-rails/responder.rb index 0a03c3c..997bf80 100644 --- a/lib/rabl-rails/responder.rb +++ b/lib/rabl-rails/responder.rb @@ -5,10 +5,15 @@ module RablRails # representation but instead use a rabl template # class Responder < ActionController::Responder + def initialize(controller, resources, options = {}) + super + @api_template = @controller.respond_to?(:responder_default_template, true) ? controller.send(:responder_default_template) : nil + end + protected def api_behavior(error) - rabl_options = options.merge(template: RablRails.responder_default_template) + rabl_options = options.merge(template: @api_template || RablRails.responder_default_template) if get? controller.default_render rabl_options