ruby-on-rails 通过将文件从旧应用程序复制到新应用程序来重新创建Rails应用程序,现在我在新应用程序中收到CORS错误

jaql4c8m  于 2023-02-26  发布在  Ruby
关注(0)|答案(1)|浏览(147)

我是Rails的新手,创建了我的第一个应用程序,让我想要的所有功能都正常工作,并决定是时候重新设计并让它看起来漂亮了。
我把所有的文件一个文件地复制到我的新应用程序中,一切都在正常工作,看起来好多了。
只有一个问题:
CORS策略已阻止访问"https://connect.stripe.com/setup/e/acct_1MelvaC8O9WEViUd/fe2dg9htvoNA"(从"http://localhost:3000/accounts"重定向)以从源"http://localhost:3000"提取数据:对印前检查请求的响应未通过访问控制检查:请求的资源上不存在"Access-Control-Allow-Origin"标头。如果不透明响应满足您的需要,请将请求的模式设置为"no-cors"以在禁用CORS的情况下提取资源。
rails控制台显示is已经成功重定向,我可以单击控制台中的链接将我带到预期的目的地。
但是chrome不会引导我去那里,这在最初的应用程序中不会发生。
我将部署在heroku的网站,这将是一个问题,当它的生活太?

6xfqseft

6xfqseft1#

简短的回答是,是的,部署到heroku时会有问题。CORS是一种安全机制,它阻止应用程序从应用程序本身以外的源加载数据,这可以防止应用程序从危险源加载数据。
要在rails应用程序中启用不同的源代码,您需要使用rackcors作为初始化器来设置中间件。

# config/initializers/cors.rb
Rails.application.config.middleware.insert_before 0, Rack::Cors do
  allow do
    origins 'https://connect.stripe.com'
    resource '/accounts', headers: :any, methods: [:get, :post, :put, :patch, :delete, :options, :head]
  end
end

如需进一步阅读,请查看:
https://www.stackhawk.com/blog/rails-cors-guide/
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

相关问题