2013-12-19 40 views
0

我不能爲我的生活得到這個問題的任何地方。我在任何地方都搜索過每個關鍵字,我可以想到太陽,但找不到直接的答案。HTTP PUT/DELETE不適用於Apache2,Passenger,Rails 4

如何爲Apache,Phusion Passenger,Rails 4生產服務器堆棧啓用HTTP PUT和DELETE?

我非常困惑,爲什麼這是如此難以工作。窺視,使我的AJAX PUT和DELETE請求在後端被接受有什麼竅門?這適用於我在本地機器上運行Webrick進行開發時,但我們的生產站點似乎不接受PUT和DELETE請求。

我甚至不能說這是一個Apache問題,乘客問題還是什麼。有人已將設置爲具有完整的REST功能。或者這不僅僅是這項工作的技術? (我不是服務器專家)。在那種情況下,你會推薦什麼?

注意:其餘應用程序運行正常,它只是PUT/DELETE AJAX請求被瀏覽器中止。

+0

您可以使用Passenger Standalone檢查它是否是Apache,它使用Nginx來提供請求。不用運行'rails server',只需運行'passenger start'。檢查是否有效。 – Hongli

+0

我使用'sudo service apache2 start'來啓動我的服務器,我假設在某個時候調用'passenger start',但我不知道。 – spiderdeveloper

+0

它沒有。乘客啓動啓動Passenger Standalone,而不是Apache的乘客。 Apache的Passenger Standalone和Passenger是兩個完全不同的東西。請參閱http://www.modrails.com/documentation/Users%20guide.html – Hongli

回答

0

我有同樣的問題,它原來是我們的導軌應用程序的問題。

指針是我/var/log/apache2/error.log行:

ActionController::RoutingError (No route matches [GET] "/javascripts/application.js") 

的解決辦法是把

config.assets.compile = true 

config/environments/production.rb 和之前的預編譯的資產服務器啓動

rake assets:precompile 

我發現此解決方案在此answer

你可能也想看看他鏈接的blog post

相關問題