2017-07-09 60 views
0

我已經完成了我的rails項目的資產管道,一切工作正常,除了動態帖子頁面,如http:// localhost:3000/posts/2,其中圖像無法加載。在其他地方它工作正常。圖像不加載在Ruby on Rails應用程序的動態頁面

在控制檯中我得到這個錯誤:

ActionController::RoutingError (No route matches [GET] "/posts/assets/logo.png")

但我在圖片標籤中使用src="assets/m1.jpg但在控制檯錯誤的鏈接是不同的!

我錯過了什麼?

回答

0

<img src="assets/m1.jpg" etc="etc"> 

...那麼瀏覽器就會把它看成一個相對URL和嘗試查看當前頁面的網址相對於,即http://localhost:3000/posts/2

因此,瀏覽器將使用以下URL查找圖像:http://localhost:3000/posts/assets/m1.jpg,這正是您的情況。

嘗試使用image_tag幫手,而不是:

<%= image_tag "m1.jpg" %> 
+0

非常感謝:d它現在的工作 – Shofi

0

鏈接不以相同的「文件夾」內的/看你開始目前所在。因此,當你在localhost:3000/posts/2你在posts「文件夾」,因此它看起來localhost:3000/posts/assets/m1.jpg

如果你開始用/一個鏈接它會看起來從當前網站localhost:3000的頂部,從而/assets/m1.jpg將尋找localhost:3000/assets/m1.jpg這是你希望它好看。

在你的代碼,可以使用image_tag幫手,而不是手動寫出你的形象標籤:

image_tag('m1.jpg') # <img alt="M1" src="/assets/m1.jpg" /> 
+0

非常感謝。它的工作 – Shofi

0

你應該使用助手<%= image_tag('m1.jpg') %>,並把你的形象在assets/images/目錄。 如果圖像標籤具有以下精確圖像路徑指定的助手將生成正確的路徑圖像

+0

謝謝..它的工作 – Shofi

相關問題