Render gon
data in the page body
, not head
- Turbolinks caches the `head`, so `gon` updates don't show up unless the user navigates to page directly (by URL) or performs a refresh. - The solution is to render `gon` in the body instead. - Also update the syntax to the new Rails 4 (according to the gon README) syntax.
This commit is contained in:
parent
e5823f3609
commit
1f713d52d7
5 changed files with 5 additions and 2 deletions
|
@ -35,8 +35,6 @@
|
|||
|
||||
= csrf_meta_tags
|
||||
|
||||
= include_gon
|
||||
|
||||
- unless browser.safari?
|
||||
%meta{name: 'referrer', content: 'origin-when-cross-origin'}
|
||||
%meta{name: 'viewport', content: 'width=device-width, initial-scale=1, maximum-scale=1'}
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
%html{ lang: "en"}
|
||||
= render "layouts/head"
|
||||
%body{class: "#{user_application_theme}", 'data-page' => body_data_page}
|
||||
= Gon::Base.render_data
|
||||
|
||||
-# Ideally this would be inside the head, but turbolinks only evaluates page-specific JS in the body.
|
||||
= yield :scripts_body_top
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
%html{ lang: "en"}
|
||||
= render "layouts/head"
|
||||
%body.ui_charcoal.login-page.application.navless
|
||||
= Gon::Base.render_data
|
||||
= render "layouts/header/empty"
|
||||
= render "layouts/broadcast"
|
||||
.container.navless-container
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
%html{ lang: "en"}
|
||||
= render "layouts/head"
|
||||
%body.ui_charcoal.login-page.application.navless
|
||||
= Gon::Base.render_data
|
||||
= render "layouts/header/empty"
|
||||
= render "layouts/broadcast"
|
||||
.container.navless-container
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
%html{ lang: "en"}
|
||||
= render "layouts/head"
|
||||
%body{class: "#{user_application_theme} application navless"}
|
||||
= Gon::Base.render_data
|
||||
= render "layouts/header/empty"
|
||||
.container.navless-container
|
||||
= render "layouts/flash"
|
||||
|
|
Loading…
Reference in a new issue