2017-08-11 24 views
0

我無法找出原因時以下路線:路由錯誤:當點擊鏈接時,2路被觸發,但在客戶端它的工作原理

<%= link_to "Instagram", instagram_path %> 

get "/instagram", to: "posts#instagram", as: "instagram" 

由該代碼要求

,完美呈現:

posts/instagram.html.erb 
通過 PostsController及以下行動

def instagram 
end 

它使posts/instagram.html.erb,但它也試圖去這個奇怪的網址GET "/...",我沒有在Rails應用程序我routes.rb或任何地方成立。

一切工作正常,在客戶端,如果不看日誌我可能從來沒有注意到這一點,但它打擾我,這個錯誤被觸發:ActionController::RoutingError (No route matches [GET] "/..."),因爲它對我沒有任何意義。

回答

1

當你點擊鏈接時可能會調用任何ajax函數,首先你應該檢查jquery是不是導致問題。

其次,您應該通過禁用turbolink進行檢查,對於特定的鏈接,您可以使用data-no-turbolink禁用turbolink。

也試試在不同的瀏覽器中。

+0

是的,這是我雖然但我只有一個AJAX請求,它是另一個路線。至於嘗試差異瀏覽器我試圖Safari和Firefox都觸發該錯誤。我會調查你吞併的turbolink想法。 – Antoine

+2

檢查JavaScript是否導致問題的最佳方法是禁用臨時瀏覽器JavaScript。要在Firefox中禁用JavaScript,請獲取有關以下內容的URL:config並搜索該行javascript:enabled以禁用它雙擊它,然後再次雙擊它以重新啓用JavaScript。 –