簡體   English   中英

Rails 3.2,jQuery 1.7.1到資產/圖像的鏈接已損壞

[英]Rails 3.2, jQuery 1.7.1 link to assets/images broken

我的設置包括ruby 1.9.3,Rails 3.2和jQuery 1.7.1。 我發現jQuery將請求發送到/assets/images/image_file.png而不是/assets/image_file.png,這導致鏈接斷開,如下圖所示:

jQery鏈接到圖像已損壞。資產中正確引用了其他CSS,JS和圖像文件。

我從資產組織知道,Rails在資產中為js,css和圖像文件尋找適當的文件夾。 所以我知道它應該在子目錄'images'中查找作為/ assets / images引用的圖像。 我在資產/圖像(應用程序/資產/圖像/圖像)中創建了一個子目錄圖像,然后將引用的圖像復制到該目錄中並且它可以正常工作。

但是jQuery不應正確引用資產目錄中的圖像。 這是錯誤所引用的jQuery代碼,突出顯示了產生行的錯誤:

jQuery代碼導致鏈接斷開,突出顯示行產生錯誤。

是否需要在application.rb或環境文件中設置任何配置參數來設置jQuery的資產路徑? 或其他解決方法?

在您的項目下的CSS周圍搜索,並將images/ui-bg_glass_80_d7ebf9_1x400.pngui-bg_glass_80_d7ebf9_1x400.png ,希望它能正常工作。

發生這種情況是因為jquery-ui-1.8.18.custom.css文件期望其圖像位於相對於CSS文件本身的images目錄中。
但是,Rails 3資產管道將CSS文件移動到其他位置,因此圖像路徑不再起作用。

如果下載jquery ui'start'主題,則標准布局為:

stylesheets/start/
stylesheets/start/jquery-ui-1.8.11.custom.css
stylesheets/start/images/

但是資產管道是這樣安排的:

stylesheets/
stylesheets/jquery-ui-1.8.11.custom.css
stylesheets/start/images/

因此/images/ui-bg_glass_80_d7ebf9_1x400.png的相對路徑不再起作用。

我有一個解決方法,即將Alias指令添加到我的Apache配置中:

Alias /assets/images "<path to site>/public/assets/start/images"

假設您的資產已符號鏈接到公共目錄。
您可以更改該路徑以直接指向從何處提供資產。

好像有點猶豫,好像我曾經決定更改主題一樣(極不可能),我需要更新我的Apache配置。
但是對我來說,比重寫CSS文件來更改路徑要好得多,因為升級時會很麻煩。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM