render :partial lazy-loader for Rails
Ruby CoffeeScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app/assets/javascripts
lib
.gitignore
Gemfile
MIT_LICENSE
README.md
Rakefile
ljax_rails.gemspec

README.md

LJAX

Lazy-load AJAX on Rails

Installation

Bundle ljax_rails gem:

gem 'ljax_rails'

Then add this to your app/assets/javascripts/application.js (or whatever bundle you use):

//=require ljax_rails

Usage

Views

Add remote: true option to your render :partial call, then the partial will be lazily rendered in a separate HTTP request.

<%= render 'users', remote: true %>

Also, you can give remote_url option for specifying request target URL.

<%= render 'sidebar', remote: true, remote_url: '/shared/sidebar' %>

Controllers

request.ljax? tells you whether the request was sent via LJAX or not.

def index
  if request.ljax?
    @users = User.all
  end
end

TODO

  • JS error handling
  • JS event hook
  • spinner?
  • tests
  • documentation
  • tutorial

Contributing

Send me your PRs!