2017-06-29 177 views
0

我想定製這樣我的路線: get 'lcd-buyback/lot/:id' => 'lcd_buyback#lot_view'Rails的自定義路線更改資產路徑造成404資產

我本來是這樣的:get 'lcd_buyback/lot_view' => 'lcd_buyback#lot_view'

的問題是,當我使用自定義路線,我得到了我的資產404。

這裏是請求URL,讓404:http://localhost:3000/lcd-buyback/bootstrap/dist/css/bootstrap.min.css

這裏是不請求URL:http://localhost:3000/bootstrap/dist/css/bootstrap.min.css

正如你可以看到,自定義路由添加我指定的lcd-buyback路徑,到資產請求URL。

我在自定義路線時如何成功訪問我的資產?謝謝

回答

1

資產從您的佈局文件調用相應的標記。確保您的控制器正在使用正確的佈局文件。

應用程序/視圖/ application.html.erb,你會發現:

<%= stylesheet_link_tag 'application' %> 

應用程序/資產/樣式表/ application.css你會發現文件和所有其他樣式它進口,因爲這個例子:

*= require_self 
*= require bootstrap 
*= require tree . 

在第一個網址,你是爲了配合新航線失蹤/很多

請提供有關您的控制器和路線文件的更多信息。

+0

正在努力獲取內容以進行更新。您建議請求URL中缺少'/ lot',所以我使用檢查元素中的'編輯並重新發送'選項進行了測試。這是我收到的錯誤:'ActionController :: RoutingError(沒有路由匹配[GET]「/lcd-buyback/lot/bootstrap/dist/css/bootstrap.min.css」):'我甚至嘗試添加ID,但仍然得到404.另外,爲什麼請求URL顯示'lcd-buyback/lot',如果它在使用rails默認路由時沒有顯示控制器或操作路徑?是否特定於自定義路線? –

+0

進入application.html.erb佈局,發現它調用的是標準html的資產,而不是rails生成的html。更具體地說,它使用'../ rest_of_path'來訪問這顯然是爲什麼它打破。替換'stylesheet_link_tag'並刪除'..'修復它。我沒有觸及佈局,所以我認爲它被正確調用,並且覺得由於自定義路由有某種程度的抽象,我不明白並且沒有實現。感謝我的application.html.erb文件的指示。我一定會更好地檢查我將來在哪裏以及如何稱呼事情。 –