Project

rack-pjax

0.32
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
Serve pjax responses through rack middleware
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
>= 0

Runtime

~> 1.5
>= 1.1
 Project Readme

Rack-pjax travis

Rack-pjax is middleware that lets you serve 'chrome-less' pages in respond to pjax-requests.

It does this by stripping the generated body; only the title and inner-html of the pjax-container are sent to the client.

While this won't save you any time rendering the page, it gives you more flexibility where and how to define the pjax-container. Ryan Bates featured rack-pjax on Railscasts and explains how this gem compares to pjax_rails.

railscast

Installation

Check out the Railscasts' notes how to integrate rack-pjax in your Rails 3.1 application.

You can find the source from the screencast over here.

Another sample-app: the original pjax-demo but with rack-pjax onboard can be found in the sample-app branch.

The more generic installation comes down to:

I. Add the gem to your Gemfile

# Gemfile
gem "rack-pjax"

II. Include rack-pjax as middleware to your application(-stack)

# config.ru
require ::File.expand_path('../config/environment',  __FILE__)
use Rack::Pjax
run RackApp::Application

III. Install jquery-pjax. Make sure to add the 'data-pjax-container'-attribute to the container.

<head>
  ...
  <script src="/javascripts/jquery.js"></script>
  <script src="/javascripts/jquery.pjax.js"></script>
  <script type="text/javascript">
    $(function(){
      $(document).pjax('a', '[data-pjax-container]')
    })
  </script>
  ...
</head>
<body>
  <div data-pjax-container>
    ...
  </div>
</body>

(For more see the docs of jquery-pjax.)

IV. Fire up your pushState-enabled browser and enjoy!

Requirements

  • Nokogiri

Contributors

The contributors.