diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 9dc4e992a37..c95c68af983 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -55,9 +55,6 @@ <%= render partial: "common/discourse_stylesheet" %> <%= render partial: "common/special_font_face" %> - <meta id="data-preloaded" data-preloaded="<%= preloaded_json %>"> - <%= preload_script "preload-application-data" %> - <%= yield :head %> <%= build_plugin_html 'server:before-head-close' %> @@ -107,6 +104,9 @@ </form> <% end %> + <div class="hidden" id="data-preloaded" data-preloaded="<%= preloaded_json %>"> + <%= preload_script "preload-application-data" %> + <%= yield :data %> <%= render :partial => "common/discourse_javascript" %> diff --git a/spec/requests/categories_controller_spec.rb b/spec/requests/categories_controller_spec.rb index d6aba32f3a1..d6f80b31c81 100644 --- a/spec/requests/categories_controller_spec.rb +++ b/spec/requests/categories_controller_spec.rb @@ -32,7 +32,7 @@ describe CategoriesController do SiteSetting.categories_topics.times { Fabricate(:topic) } get "/categories" - expect(response.body).to have_tag("meta#data-preloaded") do |element| + expect(response.body).to have_tag("div#data-preloaded") do |element| json = JSON.parse(element.current_scope.attribute('data-preloaded').value) expect(json['topic_list_latest']).to include(%{"more_topics_url":"/latest"}) end diff --git a/spec/requests/users_controller_spec.rb b/spec/requests/users_controller_spec.rb index cdb25b17f28..7697f083453 100644 --- a/spec/requests/users_controller_spec.rb +++ b/spec/requests/users_controller_spec.rb @@ -190,7 +190,7 @@ describe UsersController do ) expect(response.status).to eq(200) - expect(response.body).to have_tag("meta#data-preloaded") do |element| + expect(response.body).to have_tag("div#data-preloaded") do |element| json = JSON.parse(element.current_scope.attribute('data-preloaded').value) expect(json['password_reset']).to include('{"is_developer":false,"admin":false,"second_factor_required":false,"backup_enabled":false}') end @@ -258,7 +258,7 @@ describe UsersController do get "/u/password-reset/#{token}" - expect(response.body).to have_tag("meta#data-preloaded") do |element| + expect(response.body).to have_tag("div#data-preloaded") do |element| json = JSON.parse(element.current_scope.attribute('data-preloaded').value) expect(json['password_reset']).to include('{"is_developer":false,"admin":false,"second_factor_required":true,"backup_enabled":false}') end @@ -2615,7 +2615,7 @@ describe UsersController do expect(response.status).to eq(200) - expect(response.body).to have_tag("meta#data-preloaded") do |element| + expect(response.body).to have_tag("div#data-preloaded") do |element| json = JSON.parse(element.current_scope.attribute('data-preloaded').value) expect(json['accountCreated']).to include( "{\"message\":\"#{I18n.t("login.activate_email", email: user.email).gsub!("</", "<\\/")}\",\"show_controls\":true,\"username\":\"#{user.username}\",\"email\":\"#{user.email}\"}"