Rails 生产出现 422 错误(您想要的更改被拒绝)
Rails production getting 422 error (The change you wanted was rejected)
我是 运行 数字海洋水滴的 Rails 制作人。我可以加载静态页面,但每当控制器操作(如 create
、signin
、signup
)发生时,服务器都会引发 "The change you wanted was rejected." 错误。
有谁知道为什么会这样?
我可以通过控制台添加数据,但不能通过应用程序添加数据。
您有 2 个选项可以解决此问题。
1. 在你的cookie中设置CSRF Token
2. 在你的控制器中添加 skip_before_action :verify_authenticity_token
有时可能是由于外部配置问题,例如在我的情况下,rails 中的一切都很好,但在 nginx 中,我缺少 X-Forwarded-Ssl
配置并且正在获取
HTTP Origin header (https://www.example.com) didn't match
request.base_url (http://www.example.com)
通过设置解决了
server {
....
location @app {
...
proxy_set_header X-Forwarded-Ssl on;
...
}
}
我是 运行 数字海洋水滴的 Rails 制作人。我可以加载静态页面,但每当控制器操作(如 create
、signin
、signup
)发生时,服务器都会引发 "The change you wanted was rejected." 错误。
有谁知道为什么会这样?
我可以通过控制台添加数据,但不能通过应用程序添加数据。
您有 2 个选项可以解决此问题。
1. 在你的cookie中设置CSRF Token
2. 在你的控制器中添加 skip_before_action :verify_authenticity_token
有时可能是由于外部配置问题,例如在我的情况下,rails 中的一切都很好,但在 nginx 中,我缺少 X-Forwarded-Ssl
配置并且正在获取
HTTP Origin header (https://www.example.com) didn't match
request.base_url (http://www.example.com)
通过设置解决了
server {
....
location @app {
...
proxy_set_header X-Forwarded-Ssl on;
...
}
}