我有一個軌道鏈接,該鏈接使用POST方法:按預期Rails的POST罰球得到錯誤
resources :forecasts do
post :run
end
出現路線rake routes
輸出:
link_to "Run", forecast_run_path(@forecast), method: :post
調用定義後的路線
forecast_run POST /forecasts/:forecast_id/run(.:format) forecasts#run
而當我檢查頁面時,預期的帖子鏈接出現在頁面中:
<a href="/forecasts/20/run" data-method="post" rel="nofollow" title="Run Forecast">Run Forecast</a>
在開發中,它工作正常,直到幾天前的生產良好 - 我找不到任何似乎應該打破它的變化。但是,當我點擊鏈接,我得到錯誤ActionController::RoutingError (No route matches [GET] "/forecasts/20/run")
我同意沒有GET路線匹配,但它應該使用POST。
這是紅寶石2.1.5,Rails的4.2.0
''標記不能導致POST請求。這取決於Rails的'[不顯眼的JavaScript](http://edgeguides.rubyonrails.org/working_with_javascript_in_rails.html#unobtrusive-javascript)以'data-method'屬性找到所有''標籤,並且使用JavaScript觸發等價的POST請求。 有些東西阻止了這種情況的發生,但我們不能說出你給了我們什麼或爲什麼。 – meagar 2015-03-03 02:00:53
這是一些暫時的小故障。幾個小時後問題就消失了。我仍然不知道爲什麼,但如果我知道我會更新。 – radshop 2015-03-03 06:22:46