In Rails 5 Show archive.org snapshot you can say:
ApplicationController.render(
:template => 'users/index',
:layout => 'my_layout',
:assigns => { users: @users }
)
If a Request Environment is needed you can set attributes default attributes or initialize a new renderer in an explicit way (e.g. if you want to use users_url
in the template):
ApplicationController.renderer.defaults # =>
{
http_host: 'example.org',
https: false,
...
}
renderer = ApplicationController.renderer.new(
http_host: 'example.org',
https: false
)
renderer.render(
:template => 'users/index',
:layout => 'my_layout',
:assigns => { users: @users }
)
In Rails 3 and 4 you can say:
ApplicationController.new.render_to_string(
:template => 'users/index',
:layout => 'my_layout',
:locals => { :@users => @users }
)
Mind the weird syntax to set @
variables in :locals
.
Hat tip to BitCrowd Show archive.org snapshot . You can also backport the rails 5 new renderer Show archive.org snapshot
Use case
- Render pdfs with e.g. pdfkit Show archive.org snapshot from html to attach to an email or a model
- Generate slow reports async
Posted by Henning Koch to makandra dev (2013-08-19 08:11)