Rails Turbolinks를 페이지 단위로 비활성화하는 방법

Turbolinks를 페이지 단위로 비활성화하는 기술 배우기



원래 Turobolinks란?

Turbolinks는 링크를 생성하는 요소인 a 요소의 클릭을 후크로 하고,
이동한 페이지를 Ajax에서 가져옵니다.

그 후, 취득 페이지의 데이터가 천이 전의 페이지와 동일한 것이 있으면 재이용하고,
title · body 요소를 대체하여 표시합니다.
데이터를 재사용하므로 애플리케이션 속도 향상과 같은 성능 향상
할 수 있습니다.

공식 페이지 그러나 jquery와 경쟁하는 경우가 많고 페이지에 따라 끄고 싶습니다! 가능한 방법은 다음 3가지 1, Turbolinks 전체 삭제 2, gem jquery-turbolinks 사용 (Rails4) 또는 솔직하게 turbolinks로 기술 3,Turbolinks를 부분적으로 끄기 1,모든 삭제 우선 전부 지우다(안마 추천은 아닙니다) * turbolinks는 사귀는 방법에 따라 매우 좋은 사람입니다. gem 파일에서 turbolinks 항목 삭제 Gemfile # Use jquery as the JavaScript library 젬 'jquery-rails' # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks gem 'turbolinks', '~> 5' ← 여기 코멘트 아웃 # gem 'turbolinks', '~> 5' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 2.5' # Use Redis adapter to run Action Cable in production application.js app/assets/javascripts/application.js //= require jquery //= require jquery_ujs //= require turbolinks ← 여기 삭제 //= require owl.carousel //= require_tree. layout의 application.html.haml app/views/layouts/application.html.haml = stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' 'data-turbolinks-track': 'reload' 설명 삭제 turbolinks의 설명을 어쨌든 삭제하면 OK 2, turbolinks로 솔직하게 기술한다 (우선은 여기에서 마주해야한다) javascript app/assets/javascripts/script.js // 첫번째 로딩, 다시 로드, 페이지 전환으로 움직인다. $(document).on('turbolinks:load', function() { }); // 첫번째 로딩, 페이지 전환으로 움직인다. 리로드는 움직이지 않는다. $(document).on('turbolinks:render', function() {)}); // 페이지 천이 전에 하고 싶은 처리용. 페이지 전환 또는 재로드로 이동하지 않음 $(document).on('turbolinks:request-start', function() { });avascripts/script.js coffee의 경우 app/assets/javascripts/script.js // 첫번째 로딩, 다시 로드, 페이지 전환으로 움직인다. $(document).on 'turbolinks:load', -> // 첫번째 로딩, 페이지 전환으로 움직인다. 리로드는 움직이지 않는다. $(document).on 'turbolinks:render', -> // 페이지 천이 전에 하고 싶은 처리용. 페이지 전환 또는 재로드로 이동하지 않음 $(document).on 'turbolinks:request-start', -> Rails5 이상이라면 우선 'turbolinks:load'로 둔다. gem jquery-turbolinks 로딩도 필요하지 않습니다! 3, 부분적으로 끄기 (페이지 당) views/layouts/application.html.haml의 %body 태그에서 설명 변경 app/views/layouts/application.html.haml %body - if content_for?(:body_attributes) = yield(:body_attributes) turbolinks를 사용 중지하려는 뷰 페이지에 다음을 추가합니다. - content_for(:body_attributes) do data-turbolinks="false" 링크 대상을 turbolinks 끄고 싶다면 %div{"data-turbolinks" => "false"}로 링크 태그 둘러싸기 %div{"data-turbolinks" => "false"} = link_to "Home", root_path 또는 link_to의 속성에 추가 =link_to new_user_registration_path, class: "btn-def--mail","data-turbolinks": false do 추천은 2번으로 고리고리 기술해 가고 싶은 곳입니다만 잘 가지 않는 경우, 3번이군요~ 그럼 이번은 이 정도로.

좋은 웹페이지 즐겨찾기