我正在nginx服务器上以开发模式运行带有Rails 5.2的应用程序。一切都在本地运行,但是将其推送到远程服务器并启动Rails服务器之后,无法创建,编辑或删除记录。我收到一条Rails错误,内容为:“ ActionController :: InvalidAuthenticityToken”
奇怪的是,这仅在我使用Chrome浏览器时发生。在Firefox或Edge中,一切正常。这些是与删除请求一起发送的参数:
{"utf8"=>"✓",
"authenticity_token"=>"blahblahblah",
"service_line_item"=>{"title"=>"a", "body"=>""},
"commit"=>"create",
"service_id"=>"2",
"service_type"=>"1"}
如您所见,很明显有一个真实性令牌。当我将其与HTML中加载的令牌进行比较时,它就会匹配。我所有的表单都使用form_for
助手。
这是我服务器上的日志:
Started POST "/zoom/services/new-line-item?service_id=2&service_type=2" for 127.0.0.1 at 2019-01-25 22:55:42 +0000
Processing by ServicesController#new_line_item as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"blahblahblah", "service_line_item"=>{"title"=>"a", "body"=>""}, "commit"=>"create", "service_id"=>"2", "service_type"=>"1"}
HTTP Origin header (https://dev.mysite.com) didn't match request.base_url (http://localhost:3000)
Completed 422 Unprocessable Entity in 0ms (ActiveRecord: 0.0ms)
我已经尝试了所有显而易见的事情,例如重新加载服务器,删除cookie和硬刷新页面,但是没有任何效果。任何帮助将不胜感激。