2015-03-13 39 views
0

我尝试使用passenger和nginx部署rails应用程序。 所有工作正常,但是当我要发送DELETE要求这样的例子:使用nginx,passenger和rails启用DELETE方法

<%= link_to "Sign out", sign_out_path, method: :delete %> 

在DEVELOPPEMENT它工作正常,但在生产中使用nginx的它做一个GET请求代替。因此,逻辑上我得到这个错误:

ActionController::RoutingError (No route matches [GET] "/sign_out") 

我已阅读,nginx的需要与http_dav_module被编译成能够使用DELETE方法。

我做到了,加入nginx的配置文件中的模块,像这样:

server { 
    listen  8080; 

    server_name framework1.local.42.fr; 
    passenger_enabled on; 

    location/{ 

    root   /rails/Framework00/public 
    dav_methods PUT DELETE; 
    dav_access group:rw all:r; 
    } 

,但我得到了同样的事情,DELETE方法不起作用。

任何想法我可以解决这个问题?

回答

0

发生这种情况是因为您在生产中存在js错误。应该发送DELETE请求的JavaScript不起作用。

相关问题