CSS应用于除一个以外的所有页面-Ruby/Sinatra

CSS应用于除一个以外的所有页面-Ruby/Sinatra,css,ruby-on-rails,ruby,sinatra,Css,Ruby On Rails,Ruby,Sinatra,我正在使用Sinatra用Ruby创建一个简单的web应用程序,在修改视图时,CSS将应用于除一个以外的所有.erb文件。我不太清楚问题出在哪里。我试过: 清除浏览器缓存 在新浏览器(Chrome、Safari、Firefox、甚至Edge)上运行应用程序 在其他设备上运行应用程序 直接从erb文件链接样式表 这是我的layout.erb文件 <br/> <h2>Upload a Video</h2> <br/> <br/> <

我正在使用Sinatra用Ruby创建一个简单的web应用程序,在修改视图时,CSS将应用于除一个以外的所有.erb文件。我不太清楚问题出在哪里。我试过:

  • 清除浏览器缓存
  • 在新浏览器(Chrome、Safari、Firefox、甚至Edge)上运行应用程序
  • 在其他设备上运行应用程序
  • 直接从erb文件链接样式表
这是我的layout.erb文件

<br/>
<h2>Upload a Video</h2>
<br/>
<br/>
<form action="/create_video" method="POST">
  <div class="col-6">
    <label for="videoTitle">Video Title</label>
    <input type="text" class="form-control" aria-describedby="emailHelp" placeholder="Enter video title" name="title">
  </div>
  <br/>
  <div class="col-6">
    <label for="videoDescription">Video Description</label>
    <input type="text" class="form-control" placeholder="Enter video description" name="description">
  </div>
  <br/>
    <br/>
    <div class="col-6">
     <label for="videoURL">Video Link</label>
     <input type="text" class="form-control" placeholder="Enter link to video" name="l_url">
    </div>
    <br/>
    <div class="col-6">
     <label for="listingUrl">Company</label>
     <input type="text" class="form-control" placeholder="Enter company name" name="company">
    </div>
    <br/>
  &nbsp;&nbsp;<button type="submit" class="btn btn-primary">Submit</button>
</form>
<br/>
<br/>
</div>
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <link href="https://fonts.googleapis.com/css?family=Roboto:300|Niramit|Nunito" rel="stylesheet">
    <link rel="stylesheet" type="text/css" href="style.css">
    <link rel="stylesheet" type="text/css" href="animate.css">
</head>
<body>

    <%= erb :navigation %>

    <main role="main">

        <%= yield %>

    </main>


    <footer class="end">
         <div class="footer-grid">
      <div class="footer-one">
        <p> logo<p>
      </div>
        <div class="footer-two">
            <p>&copy; Copyright Ignite 2018. All rights reserved.</p>
            <p>Terms of use • Press Inquiries • General Inquiries • Investors</p>
        </div>
        <div class="footer-three">
        <img src="https://image.flaticon.com/icons/svg/185/185981.svg" width=40 height=40>
        &nbsp;&nbsp;&nbsp;&nbsp;
        <img src="https://image.flaticon.com/icons/svg/185/185961.svg" width=40 height=40>
        &nbsp;&nbsp;&nbsp;&nbsp;
        <img src="https://image.flaticon.com/icons/svg/185/185985.svg" width=40 height=40>
        </div>
    </footer>


    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</body>
</html>

上传视频

视频标题
视频描述

视频链接
单位
提交

My layout.erb文件

<br/>
<h2>Upload a Video</h2>
<br/>
<br/>
<form action="/create_video" method="POST">
  <div class="col-6">
    <label for="videoTitle">Video Title</label>
    <input type="text" class="form-control" aria-describedby="emailHelp" placeholder="Enter video title" name="title">
  </div>
  <br/>
  <div class="col-6">
    <label for="videoDescription">Video Description</label>
    <input type="text" class="form-control" placeholder="Enter video description" name="description">
  </div>
  <br/>
    <br/>
    <div class="col-6">
     <label for="videoURL">Video Link</label>
     <input type="text" class="form-control" placeholder="Enter link to video" name="l_url">
    </div>
    <br/>
    <div class="col-6">
     <label for="listingUrl">Company</label>
     <input type="text" class="form-control" placeholder="Enter company name" name="company">
    </div>
    <br/>
  &nbsp;&nbsp;<button type="submit" class="btn btn-primary">Submit</button>
</form>
<br/>
<br/>
</div>
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <link href="https://fonts.googleapis.com/css?family=Roboto:300|Niramit|Nunito" rel="stylesheet">
    <link rel="stylesheet" type="text/css" href="style.css">
    <link rel="stylesheet" type="text/css" href="animate.css">
</head>
<body>

    <%= erb :navigation %>

    <main role="main">

        <%= yield %>

    </main>


    <footer class="end">
         <div class="footer-grid">
      <div class="footer-one">
        <p> logo<p>
      </div>
        <div class="footer-two">
            <p>&copy; Copyright Ignite 2018. All rights reserved.</p>
            <p>Terms of use • Press Inquiries • General Inquiries • Investors</p>
        </div>
        <div class="footer-three">
        <img src="https://image.flaticon.com/icons/svg/185/185981.svg" width=40 height=40>
        &nbsp;&nbsp;&nbsp;&nbsp;
        <img src="https://image.flaticon.com/icons/svg/185/185961.svg" width=40 height=40>
        &nbsp;&nbsp;&nbsp;&nbsp;
        <img src="https://image.flaticon.com/icons/svg/185/185985.svg" width=40 height=40>
        </div>
    </footer>


    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</body>
</html>

标志
&抄袭;版权所有Ignite 2018。版权所有

使用条款•新闻查询•一般查询•投资者

最后,这是样式表工作的一个小片段:

   <br/>
   <br/>
   <h2>Videos</h2>
   <br/>
   <br/>
   <% @videos.each do |v| %>
      <img src="<%= v.logo %>" width="110" height="110">
      <h3><%= v.title %></h3>
      <p><%= v.l_url %></p>
      <p><%= v.description %> </p>
   <br/>
   <% end %>
   <br/>
   <br/>
   <br/>
   <br/>
</div>


视频

“width=“110”height=“110”>







你知道哪里不对吗?我很感谢你的建议。

我想这可能会解决你的问题,我想你的样式表链接可能会断开。 如果页面不在顶部路径中,如果它看起来像这样:

在您的
layout.erb
-文件中,您使用以下方法引用样式表:

href="style.css"
在CSS导入中,我建议使用以下方法参考样式表:

href="/style.css"
请注意文件名前的斜杠。斜杠告诉浏览器资源将从Web服务器的根路径加载。如果没有斜杠,浏览器将尝试从以下路径获取
style.css


我认为这可能会解决您的问题,我认为您的样式表链接可能会断开。 如果页面不在顶部路径中,如果它看起来像这样:

在您的
layout.erb
-文件中,您使用以下方法引用样式表:

href="style.css"
在CSS导入中,我建议使用以下方法参考样式表:

href="/style.css"
请注意文件名前的斜杠。斜杠告诉浏览器资源将从Web服务器的根路径加载。如果没有斜杠,浏览器将尝试从以下路径获取
style.css


浏览器控制台中是否有任何错误?指向未应用CSS的页面的路径(URL)是什么?因此我刚刚检查了浏览器控制台,发现此错误:拒绝应用“”中的样式,因为其MIME类型('text/html')不是受支持的样式表MIME类型,并且启用了严格的MIME检查。您知道如何解决此问题吗?@timbillstrom它可以在除“localhost:4567/upload_video”之外的所有路径上工作@slope您可以发送CSS实际工作的URL示例吗?浏览器控制台中是否有任何错误?路径(URL)是什么到没有应用CSS的页面?所以我只是检查了浏览器控制台,我得到了一个错误:拒绝应用“”的样式,因为它的MIME类型('text/html')不是受支持的样式表MIME类型,并且启用了严格的MIME检查。你知道如何解决这个问题吗?@timbillstrom它可以在除本地主机:4567/上传视频“@slope你能发送一个CSS实际工作的URL示例吗?这很有效!我觉得没有正确链接样式表有点傻,非常感谢您的帮助!!!!:)很高兴来到help@slope,当浏览器试图从错误的URL获取样式表时,它很可能试图获取Rails/Sinatra 404页面作为样式表资源,因此出现MIME类型错误。如果您将答案标记为已接受,我会很高兴(:这很有效!我觉得没有正确链接样式表有点傻,非常感谢您的帮助!!!!:)很高兴来到help@slope,当浏览器尝试从错误的URL获取样式表时,它很可能尝试获取Rails/Sinatra 404页面作为样式表资源,因此,MIME类型错误。如果你把答案标记为已接受,我会很高兴的