ActsAsRenderable ================ Allows ERb code stored in ActiveRecord to be rendered as by ActionView. In your action code inside a controller you can use render_model() to tell the controller which method of an object as the code to render, rather than the contents of a template file. def show @person = Person.find(@params[:id]) render_model :object => @person end By default @person.show will be rendered, but you can override this like so: render_model :object => @person, :method => :show_view Optionally, in your model code, you can define which method should be used to render which controller/actions. class Person < ActiveRecord::Base acts_as_renderable :method => :show_view, :controller => 'example', :action => 'show' def show_view "
#{show}
" end end So you can put this in ExampleController: def show @person = Person.find(@params[:id]) render_model :object => @person end and the controller knows to use :show_view instead of :show for this action. render_model() responds to :layout and :status normally. DISCLAIMER: I know this is a hideous violation of MVC rules, but it it might be useful to someone at some point. Besides, I learned a lot about plugins while writing it.