= ViewVariantResponder == Installation In your Gemfile, add this line: gem "view_variant_responder" == Configuration This is only a module, to use it, you have to create your own responder: # lib/app_responder.rb class AppResponder < ActionController::Responder include Responders::ViewVariantResponder end If you're using any other responders, like Responders::FlashResponder, then include these there too. Finally you need to configure your application to use it: require "app_responder" class ApplicationController < ActionController::Base self.responder = AppResponder end == Usage Let's assume you want to show an overlay view of a post. Your controller already should look something like this: class PostsController < ApplicationController respond_to :html def show @post = Post.find(params[:id]) respond_with(@post) end end Now you only need to add a separate view for the overlay * app/views/posts/show.html.erb - Your usual view * app/views/posts/show.overlay.html.haml - Your overlay view To get this view using jquery for example, you'll do something like this: $.ajax({ url: "/posts/5", dataType: "html", headers: { "X-View-Variant": "overlay" }, success: function(content) { // Voila, your overlay content is now here } });