小编ada*_*lfo的帖子

为什么我的 HTTP Origin 标头与 request.base_url 不匹配以及如何修复?

你好,这是我在这里的第一篇文章!

我已经尝试调试这个问题几天了,但无法弄清楚。当我向 Rails api 发出发布请求时,我收到了以前从未见过的错误:

Started POST "/owners" for ::1 at 2021-01-12 11:24:15 -0500
   (1.0ms)  SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
Processing by OwnersController#create as */*
  Parameters: {"email"=>"adam", "password"=>"[FILTERED]", "owner"=>{"email"=>"adam"}}
HTTP Origin header (http://localhost:3000) didn't match request.base_url (http://localhost:3001)
Completed 422 Unprocessable Entity in 0ms (ActiveRecord: 1.8ms | Allocations: 476)


  
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
Run Code Online (Sandbox Code Playgroud)

就像我说的,我以前从未见过这种情况,我不知道我是如何造成它的。我没有使用代理服务器,我在这个项目中尝试的唯一可能搞砸的新事情是我安装了 devise gem,但决定不使用它并删除它。

我尝试过的事情:

确保我没有待处理的迁移:

检查我的路线:

Rails.application.routes.draw do
  resources :owners
  resources :dogs
  post 'login', to: 'sessions#create'
end
Run Code Online (Sandbox Code Playgroud)

然后我认为这可能是一个cors问题:

require_relative 'boot'

require 'rails/all'

# Require the gems listed …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails http cors

8
推荐指数
2
解决办法
2万
查看次数

标签 统计

cors ×1

http ×1

ruby ×1

ruby-on-rails ×1