2016-08-11 23 views
-1

私はかなりの記事とターボリンクのドキュメントを読んできました。私はレール5のアプリケーションでターボリンクを完全にオフにしようとしています。 application.html.erbが今のように見えるstylesheet_link_tagjavascript_include_tag タワーリンクをレールから完全に無効にする方法

からdata-turbolinks-trackを取り外しここで私はapplication.js

  • から//=require turbolinksの出現をすべて削除gem 'trubolinks'
  • を削除し、それについて

    1. を行ってみましょうこの

      <html> 
          <head> 
          <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
          <title><%= content_for?(:title) ? yield(:title) : "Website" %></title> 
          <meta name="description" content="<%= content_for?(:description) ? yield(:description) : "Website" %>"> 
          <%= stylesheet_link_tag 'application', media: 'all' %> 
          <%= stylesheet_link_tag params[:controller] %> 
          <%= javascript_include_tag 'application' %> 
          <%= javascript_include_tag :modernizr %>  
          <%= javascript_include_tag params[:controller] %> 
          <%= if(params[:action].eql?'contact') 
            javascript_include_tag 'https://www.google.com/recaptcha/api.js?onload=vcRecaptchaApiLoaded&render=explicit' , async: 'async', defer: 'defer' 
           end 
          %> 
          <%= csrf_meta_tags %> 
          </head> 
          <body data-turbolinks='false'> 
          ... 
          </body> 
      </html> 
      

      application.jsファイル:

      //= require jquery 
      //= require jquery_ujs 
      //= require lodash 
      //= require bootstrap-sprockets 
      //= require jquery.sticky 
      

      とapplication.css

      @import "bootstrap-sprockets"; 
      @import "bootstrap"; 
      @import "font-awesome-sprockets"; 
      @import "font-awesome"; 
      @import "normalize-rails"; 
      @import "animate"; 
      .... 
      /* other css stuff */ 
      

      私はbodyタグにdata-turbolinks=falseを使用して考えていたが、このレイアウトのすべてのページのためにそれを無効に役立つはずです。しかし、それは助けていない、ページが、私は、スタックトレースを見れば、ActionViewは必ずturbolinksに依存し、ホームページ上で、この行でエラー

      Sprockets::FileNotFound at/
      couldn't find file 'turbolinks' with type 'application/javascript' 
      Checked in these paths: 
          /Users/anadi/Code/website/app/assets/config 
          /Users/anadi/Code/website/app/assets/fonts 
          /Users/anadi/Code/website/app/assets/images 
          /Users/anadi/Code/website/app/assets/javascripts 
      

      をロードするために

      <%= image_tag("pages/home/xyz_logo.png", class: "img-responsive", alt: "Customer") %>

      に失敗します:

      sprockets (3.7.0) lib/sprockets/directive_processor.rb:182:in `rescue in block in process_directives' 
          sprockets (3.7.0) lib/sprockets/directive_processor.rb:179:in `block in process_directives' 
          sprockets (3.7.0) lib/sprockets/directive_processor.rb:178:in `process_directives' 
          sprockets (3.7.0) lib/sprockets/directive_processor.rb:83:in `_call' 
          sprockets (3.7.0) lib/sprockets/directive_processor.rb:68:in `call' 
          sprockets (3.7.0) lib/sprockets/processor_utils.rb:75:in `call_processor' 
          sprockets (3.7.0) lib/sprockets/processor_utils.rb:57:in `block in call_processors' 
          sprockets (3.7.0) lib/sprockets/processor_utils.rb:56:in `call_processors' 
          sprockets (3.7.0) lib/sprockets/loader.rb:134:in `load_from_unloaded' 
          sprockets (3.7.0) lib/sprockets/loader.rb:60:in `block in load' 
          sprockets (3.7.0) lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache' 
          sprockets (3.7.0) lib/sprockets/loader.rb:44:in `load' 
          sprockets (3.7.0) lib/sprockets/cached_environment.rb:20:in `block in initialize' 
          sprockets (3.7.0) lib/sprockets/cached_environment.rb:47:in `load' 
          sprockets (3.7.0) lib/sprockets/bundle.rb:23:in `block in call' 
          sprockets (3.7.0) lib/sprockets/utils.rb:196:in `dfs' 
          sprockets (3.7.0) lib/sprockets/bundle.rb:24:in `call' 
          sprockets (3.7.0) lib/sprockets/processor_utils.rb:75:in `call_processor' 
          sprockets (3.7.0) lib/sprockets/processor_utils.rb:57:in `block in call_processors' 
          sprockets (3.7.0) lib/sprockets/processor_utils.rb:56:in `call_processors' 
          sprockets (3.7.0) lib/sprockets/loader.rb:134:in `load_from_unloaded' 
          sprockets (3.7.0) lib/sprockets/loader.rb:60:in `block in load' 
          sprockets (3.7.0) lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache' 
          sprockets (3.7.0) lib/sprockets/loader.rb:44:in `load' 
          sprockets (3.7.0) lib/sprockets/cached_environment.rb:20:in `block in initialize' 
          sprockets (3.7.0) lib/sprockets/cached_environment.rb:47:in `load' 
          sprockets (3.7.0) lib/sprockets/base.rb:66:in `find_asset' 
          sprockets (3.7.0) lib/sprockets/base.rb:73:in `find_all_linked_assets' 
          sprockets (3.7.0) lib/sprockets/manifest.rb:134:in `block in find' 
          sprockets (3.7.0) lib/sprockets/manifest.rb:133:in `find' 
          sprockets-rails (3.1.1) lib/sprockets/railtie.rb:50:in `precompiled_assets' 
          sprockets-rails (3.1.1) lib/sprockets/railtie.rb:35:in `asset_precompiled?' 
          sprockets-rails (3.1.1) lib/sprockets/railtie.rb:250:in `block (3 levels) in <class:Railtie>' 
          sprockets-rails (3.1.1) lib/sprockets/rails/helper.rb:342:in `precompiled?' 
          sprockets-rails (3.1.1) lib/sprockets/rails/helper.rb:346:in `raise_unless_precompiled_asset' 
          sprockets-rails (3.1.1) lib/sprockets/rails/helper.rb:313:in `asset_path' 
          sprockets-rails (3.1.1) lib/sprockets/rails/helper.rb:85:in `block in resolve_asset_path' 
          sprockets-rails (3.1.1) lib/sprockets/rails/helper.rb:225:in `block in resolve_asset' 
          sprockets-rails (3.1.1) lib/sprockets/rails/helper.rb:224:in `resolve_asset' 
          sprockets-rails (3.1.1) lib/sprockets/rails/helper.rb:84:in `resolve_asset_path' 
          sprockets-rails (3.1.1) lib/sprockets/rails/helper.rb:74:in `compute_asset_path' 
          actionview (5.0.0) lib/action_view/helpers/asset_url_helper.rb:144:in `asset_path' 
          actionview (5.0.0) lib/action_view/helpers/asset_url_helper.rb:311:in `image_path' 
          actionview (5.0.0) lib/action_view/helpers/asset_tag_helper.rb:214:in `image_tag' 
      

      スプロケットはまだturbolinks jsまたはimage_tag urlが予期していると思われます。私はすべてのリンクまたは画像にdata: { turbolinks: false }を追加することを最終的には望んでいません。これをどうやって稼働させるか?

  • 答えて

    0

    おそらく間違っていて、すべてを再度有効にして、data-turbolinks-track => trueも追加して保存しました。<body data-turbolinks='false'>。エラーを投げることなく、期待どおりに動作します。

    1
    1. gemfileから「turbolinks」という行を削除します。
    2. アプリ/アセット/ javascripts/application.jsから// = require turbolinksを削除します。
    3. app/views/layouts/application.html.erbから2つの "data-turbolinks-track" => trueハッシュキーと値のペア を削除します。
    +0

    コードを共有してみたら、すでにすべてのことをやったことがあります! :-) –

    関連する問題