Skip to content
pjax for rails and rack applications
Ruby
Find file
Failed to load latest commit information.
lib New release Aug 15, 2014
spec
.gitignore ignore .rbenv-version Oct 31, 2011
.travis.yml Add more recent Ruby to the build matrix Aug 15, 2014
Gemfile More strict rspec dependency Aug 15, 2014
LICENSE readme and license Jun 7, 2011
README.md Update install instructions Aug 15, 2014
Rakefile added specs Nov 1, 2011
rack-pjax.gemspec Loosen rack dependency and restrict nokogiri for old Rubies Aug 15, 2014

README.md

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.

Something went wrong with that request. Please try again.