Rails:Jquery / Javascript无法从正确的资产位置加载

时间:2013-11-20 03:24:42

标签: javascript jquery ruby-on-rails

我的Jquery和Javascript存在问题。我一直在构建一个应用程序,使用github在工作和家庭之间进行工作。在工作中,一切正常,我的所有Jquery都可以。当我在家里拉应用程序时,jquery和javascript没有响应。这包括我在bootstrap中使用的javascript。

浏览器的javascript控制台显示一些似乎是问题根源的错误,但我不确定如何修复它们。

我的应用程序布局包括:

<head>
  <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
  <title>Website</title>
  <%= javascript_include_tag "application" %>
  <%= stylesheet_link_tag    "application", media: "all" %>
  <%= csrf_meta_tags %>

</head>
   ...
   <body>
   ...
   <script src="/js/bootstrap.min.js"></script>
   </body>

我的application.js有:

//= require jquery
//= require jquery_ujs
//= require_tree .
//= require bootstrap.min.js

我还应该检查或尝试更改哪些内容?

我的浏览器javascript控制台也会抛出一些错误:

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/requests/css/bootstrap.min.css
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/requests/js/bootstrap.min.js

请求是我的模特之一。根据我当前使用的mvc,它将搜索这些文件夹中的资源。例如,当我尝试使用我的“ecn”视图中的javascript时,我收到以下错误:

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/ecns/css/bootstrap.min.css
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/ecns/js/bootstrap.min.js

为什么rails会尝试在资产文件夹以外的任何文件夹中查找资产?

1 个答案:

答案 0 :(得分:0)

首先,您应该删除应用布局中的行<script src="/js/bootstrap.min.js"></script>,因为您的application.js已经包含bootstrap.min.js(正好是这一行://= require bootstrap.min.js),所以不需要包括它两次,对于这一行<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">你应该删除它。

第二件事是你从控制台得到的错误:

Failed to load resource: the server responded with a status of 404 (Not Found)    http://localhost:3000/requests/css/bootstrap.min.css
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/requests/js/bootstrap.min.js

您的应用似乎尝试从名为bootstrap.min.jsbootstrap.min.css的文件夹中加载requests/jsrequests/css,您是否已经拥有此类文件夹? 我认为如果你使用Rails&gt; = 3完全/app/assetsapp/assets/javascripts/

,bootstrap生成器将使用app/assets/stylesheets/目录

我认为此railscast Twitter Bootstrap Basics也可以为您提供帮助