Method: Plezi::Controller#render
- Defined in:
- lib/plezi/controller/controller.rb
#render(template, &block) ⇒ Object
Renders the requested template (should be a string, subfolders are fine).
Template name shouldn’t include the template’s extension or format - this allows for dynamic format template resolution, so that ‘json` and `html` requests can share the same code. i.e.
Plezi.templates = "views/"
render "users/index"
Using layouts (nested templates) is easy by using a block (a little different then other frameworks):
render("users/layout") { render "users/index" }
80 81 82 83 84 85 86 |
# File 'lib/plezi/controller/controller.rb', line 80 def render(template, &block) frmt = params['format'.freeze] || 'html'.freeze mime = nil ret = ::Plezi::Renderer.render "#{File.join(::Plezi.templates, template.to_s)}.#{frmt}", binding, &block response[Rack::CONTENT_TYPE] = mime if ret && !response.content_type && (mime = Rack::Mime.mime_type(".#{frmt}".freeze, nil)) ret end |