Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Rails TurboLink在加载时中断css_Javascript_Html_Css_Ruby On Rails_Turbolinks - Fatal编程技术网

Javascript Rails TurboLink在加载时中断css

Javascript Rails TurboLink在加载时中断css,javascript,html,css,ruby-on-rails,turbolinks,Javascript,Html,Css,Ruby On Rails,Turbolinks,希望标题没有误导。我的问题是-当使用turbolinks并单击链接时,加载的页面在一瞬间似乎没有样式。然后,css加载,一切正常。但这种行为对用户非常不友好 我可以通过移除TurboLink来解决这个问题,这是可行的。但是我依赖于TurboLink。请访问我代码的其他部分 我还可以通过将method::get添加到每个=link\u到helper来解决这个问题 这两种方法都有点“老套”。有没有“正确的方法”来解决这个问题 您可以通过单击此处的徽标(左上)-(无需修改),然后单击三个导航链接之一(

希望标题没有误导。我的问题是-当使用turbolinks并单击链接时,加载的页面在一瞬间似乎没有样式。然后,css加载,一切正常。但这种行为对用户非常不友好

我可以通过移除TurboLink来解决这个问题,这是可行的。但是我依赖于TurboLink。请访问我代码的其他部分

我还可以通过将
method::get
添加到每个
=link\u到
helper来解决这个问题

这两种方法都有点“老套”。有没有“正确的方法”来解决这个问题

您可以通过单击此处的徽标(左上)-(无需修改),然后单击三个导航链接之一(有
method::get
)来体验我的意思

我发现类似的问题,但并没有提供解决方案

这是我的应用程序布局:

!!!

%html
%head
  %title Uzhindoma - Front
  = stylesheet_link_tag    'front', media: 'all', 'data-turbolinks-track' => true
  = stylesheet_link_tag "https://api.mapbox.com/mapbox-gl-js/v0.20.0/mapbox-gl.css", :rel => "stylesheet"
  = stylesheet_link_tag "https://fonts.googleapis.com/css?family=Open+Sans:400,600,700", :rel => "stylesheet"
  = csrf_meta_tags

%body{class: "#{controller_name} #{action_name} g-body"}
  .g-content
    =render 'front/navigation/header'
    / Rendering errors
    %section
      -flash.each do |name, msg|
        =content_tag(:div, msg, class: "alert alert-#{name}")
    =yield
    =render 'front/navigation/footer'


= javascript_include_tag "https://api.mapbox.com/mapbox-gl-js/v0.28.0/mapbox-gl.js"
= javascript_include_tag 'front', 'data-turbolinks-track' => true
= javascript_include_tag "https://widget.cloudpayments.ru/bundles/cloudpayments"
这是我的front.js

// Place all the behaviors and hooks related to the matching controller here.
// All this logic will automatically be available in application.js.
// You can use CoffeeScript in this file: http://coffeescript.org/

//= require jquery3
//= require jquery_ujs
//= require_tree ../../../vendor/assets/javascripts/front/custom/.


//= require_self
//= require_tree ../../../app/assets/javascripts/front/.
//= require turbolinks
如果我删除
/=require turbolink
,那么链接工作正常,但我不会得到一些重定向(这些重定向依赖于
TurboLinks.visit
方法)

为了决定与哪个控制器一起使用哪个布局,我有以下控制器结构:
controller/application\u controller.rb
controllers/front_controller.rb
controllers/admin\u controller.rb
controllers/front/…
controllers/admin/…

应用程序控制器:

class ApplicationController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception

  layout :layout_by_resource

  protected

  def layout_by_resource
    if devise_controller?
      "front"
    end
  end
end
class FrontController < ApplicationController
    layout 'front'
end
class AdminController < ApplicationController
    layout "admin"
end
class ApplicationController
前端控制器:

class ApplicationController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception

  layout :layout_by_resource

  protected

  def layout_by_resource
    if devise_controller?
      "front"
    end
  end
end
class FrontController < ApplicationController
    layout 'front'
end
class AdminController < ApplicationController
    layout "admin"
end
class FrontController
管理员/控制器:

class ApplicationController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception

  layout :layout_by_resource

  protected

  def layout_by_resource
    if devise_controller?
      "front"
    end
  end
end
class FrontController < ApplicationController
    layout 'front'
end
class AdminController < ApplicationController
    layout "admin"
end
class AdminController
很棒的网站,我认为这是css中真正的滞后。如果您在您认为问题所在的地方添加一些代码片段,那就太好了。您是否使用不同的CSS样式表?你怎么把他们包括进来的?谢谢你的好话!我添加了我的应用程序布局。我使用其中两个-
front
用于公共部分,而
admin
用于管理部分。他们使用不同的css和js。你如何决定使用哪种css和Javascript?也许你调用了两次代码。我在控制器(更新的问题)伟大的网站上决定,我认为这是css的一个真正的滞后。如果您在您认为问题所在的地方添加一些代码片段,那就太好了。您是否使用不同的CSS样式表?你怎么把他们包括进来的?谢谢你的好话!我添加了我的应用程序布局。我使用其中两个-
front
用于公共部分,而
admin
用于管理部分。他们使用不同的css和js。你如何决定使用哪种css和Javascript?也许你调用代码两次。我在控制器中决定(更新问题)