我尝试使用passenger和nginx部署rails应用程序。 一切正常,但是当我想发送像这样的 DELETE 请求时,例如:
<%= link_to "Sign out", sign_out_path, method: :delete %>
在开发中,它运行良好,但在使用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 :(得分:0)
之所以发生这种情况,是因为生产中有js错误。应该发送DELETE请求的JavaScript不起作用。