lazy_render
lazy_render copied to clipboard
LazyRender

What is this?
It delays loading of partial or actions in views.
Installation
LazyRender works with Rails 4.0 onwards. You can add it to your Gemfile with:
gem 'lazy_render'
Usage
1. Route to LazyRender
add to routes.rb
lazy_render_for 'lazy_render/load', to: 'lazy_render'
2. Configuring Javascript
add to application.js
//= require jquery
//= require lazy_render
3. Configuring Controller
add to include helper into application_controller
class ApplicationController < ActionController::Base
helper LazyRender::LazyloadHelper
end
create a controller to run lazy render
controllers/lazy_render_controller.rb
class LazyRenderController < LazyRender::LazyloadController
def load
super
end
end
and add some action to LazyRenderController
def sample_action(locals)
@data[:sample_text] = 'Hello LazyRender!'
@data[:pass_value] = locals[:value]
end
4. Configuring View
create view file under views/lazy_render/
views/lazy_render/sample_action.html.erb
<h2>This is sample view.</h2>
<p><%= data[:sample_text] %></p>
<h3><%= data[:pass_value] %></3>
5. Call lazy_render from View
Call lazy_render from your any views
<%= lazy_render :sample_text, locals: { value: 'Sample Text' } %>
<h2>This is sample view.</h2>
<p>Hello LazyRender!</p>
<h3>Sample Text</3>
lazy_render options
- locals : The parameters to passed to action
- cache : Time to hold a View to the local storage. Default: 0
- callback : To specify the Javascript method that you want to execute after displaying partial.
- parallel : I carry it out in parallel without compiling a request in lazy_render. Default: false
Contributing
- Fork it ( https://github.com/vexus2/lazy_render/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
Authors
Thanks to
be inspired by akiyan