1

我的javascript和jquery出現問題。除了一些自己寫的腳本,我還使用bootstrap。當我嘗試使用JavaScript驅動的操作(即單擊顯示隱藏div的按鈕或打開模式)時,瀏覽器不響應。瀏覽器的javascript控制檯顯示以下錯誤:Rails試圖從不正確的位置加載資產

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 

請注意,位置位於文件夾「ecns」而不是「資產」。電子交易系統是我的車型之一,我目前是在我的瀏覽器,如果我去我的應用程序的不同部分,錯誤是這樣的:

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

我知道有沒有用的問題腳本本身,因爲它們在不同的計算機上工作。我假設我在rails中有一些配置或安裝不正確的東西。作爲參考,這是我的application.js:

//= require jquery 
//= require jquery_ujs 
//= require_tree . 

而下面是我的應用程序佈局:

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

爲什麼軌尋找到的資產不正確的位置?我正在運行rails 3.2.1

回答

1

Rails正在使用自定義資產管道,這將使所有資產在應用程序的根目錄下的assets子目錄下可見。

因此,如果您的基地址是http://www.something.com/所有資產將生活在http://www.something.com/assets/下。

如果要導入CSS或JS文件,如果您在軌app/assets/目錄正確放置它們,你應該使用下面的命令:無論你在你的佈局需要

<%= javascript_include_tag "bootstrap.min" %> 
<%= stylesheet_link_tag "bootstrap.min" %> 

把他們。

如果您仍想手動導入他們(我不推薦),使用這些:

<script src="assets/bootstrap.min.js"></script> 
<link href="assets/bootstrap.min.css" rel="stylesheet" media="screen"> 
+0

我加了兩行<%= java的....和<%= stylesh。 ...並從我的應用程序佈局中刪除了我的腳本行,但我仍然收到錯誤信息:無法加載資源:服務器響應狀態爲404(未找到)http:// localhost:3000/ecns/css/bootstrap.min.css' – sabrams

+2

這裏有些問題,因爲它似乎仍在加載舊的CSS。您是否已經嘗試重新啓動服務器?而且,你確定你是否刪除了所有這些手動導入類型? – marzapower

+1

啊,你是對的,我錯過了刪除樣式錶鏈接。完善!非常感謝你! – sabrams