Skip to Main Content
Crafting Rails 4 Applications, 2nd Edition
book

Crafting Rails 4 Applications, 2nd Edition

by Jose Valim
November 2013
Intermediate to advanced content levelIntermediate to advanced
200 pages
4h 31m
English
Pragmatic Bookshelf
Content preview from Crafting Rails 4 Applications, 2nd Edition

Writing the Renderer

At the beginning of this chapter, we briefly discussed the render method and a few options that it accepts, but we haven’t formally described what a renderer is.

A renderer is nothing more than a hook exposed by the render method to customize its behavior. Adding our own renderer to Rails is quite simple. Let’s consider the :json renderer in Rails source code as an example:

rails/actionpack/lib/action_controller/metal/renderers.rb
 
add :json ​do​ |json, options|
 
json = json.to_json(options) ​unless​ json.kind_of?(String)
 
if​ options[:callback].present?
 
self.content_type ||= Mime::JS
 
"​#{options[:callback]}​(​#{json}​)"
 
else
 
self.content_type ||= Mime::JSON
 
json
 
end
 
end

So, whenever we invoke the ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Rails 4 in Action

Rails 4 in Action

Yehuda Katz, Rebecca Skinner, Stephen Klabnik, Ryan Bigg
Rails: Novice to Ninja, 3rd Edition

Rails: Novice to Ninja, 3rd Edition

Glenn Goodrich, Patrick Lenz
Sinatra: Up and Running

Sinatra: Up and Running

Alan Harris, Konstantin Haase
Mastering Ruby Closures

Mastering Ruby Closures

Benjamin Tan Wei Hao

Publisher Resources

ISBN: 9781941222331Errata