3 ms·
Looking at the rails pjax_rails gem https://github.com/rails/pjax_rails https://github.com/rails/pjax_rails I see it automatically patches layout to return fals
by irahul 15y ago
Looking at the rails pjax_rails gem https://github.com/rails/pjax_rails https://github.com/rails/pjax_rails I see it automatically patches layout to return false when the request is pjax.
https://github.com/rails/pjax_rails/blob/master/lib/pjax.rb#L5 https://github.com/rails/pjax_rails/blob/master/lib/pjax.rb#...
layout ->(c) { pjax_request? ? false : 'application' }
So in the sample app you pointed out:
def show
@post = Post.find(params[:id])
if pjax_request?
render layout: false
else
respond_to :html
end
end
is the same as:
def show
@post = Post.find(params[:id])
end
Also, pjax-rails converts the following selection to pjax:
https://github.com/rails/pjax_rails/blob/master/lib/assets/javascripts/pjax/enable_pjax.js.coffee https://github.com/rails/pjax_rails/blob/master/lib/assets/j...
$('a:not([data-remote]):not([data-behavior]):not([data-skip-pjax])')
I was a bit baffled by the example app since it didn't appear to be doing any pjaxy stuff, but rails being opinionated, I see all links are pjax(except the not classes show above), and layout is turned off for pjax requests.
- mark_l_watson 15y agoI put some debug printouts in his example notes controller and it seemed to be setting the no layout rendering option correctly, but as you say, the checks in the controller may be redundent. Anyway, I am planning on giving pjax a very good look: I find doing a lot of client side coding to be tedious and is something to be minimized.