gpt4 book ai didi

ruby-on-rails - 如何在heroku上部署的Ruby on Rails 6 API后端中允许CORS

转载 作者:行者123 更新时间:2023-12-04 01:17:33 26 4
gpt4 key购买 nike

我知道似乎有一些与此主题相关的答案,但到目前为止,没有一个对我有用。我构建了一个 Rails API 后端,前端使用 React 构建。该应用程序运行良好,但在我添加了一些功能并再次部署后,我的 CORS 开始出现问题。我添加的功能与 Redis 和 Action cable 相关。现在我收到这个错误:Access to XMLHttpRequest at 'https://myestateapi.herokuapp.com/top_apartment' from origin 'https://frozen-bastion-98066.herokuapp.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 我的设置没有改变我不知道为什么我会得到这个。
在我的 config/application.rb 我有这个

   Rails.application.config.middleware.insert_before ActionDispatch::Static, Rack::Cors do
allow do
origins '*'

resource '*',
headers: :any,
methods: %i[get post put patch delete options head]
end
end
这段代码运行良好。什么可能导致此错误?或者有人可以推荐比 rack-cors 更好的 gem 吗?我会很感激得到任何人的帮助。先感谢您。

最佳答案

如果您使用的是 Rails 6:
首先转到您的 Gemfile 并取消注释 gem 'rack-cors' 。然后运行 ​​bundle install之后转到 config/initializers 文件夹。在那里,您应该找到一个名为 cors.rb 的文件。
取消注释看起来像这样的代码

Rails.application.config.middleware.insert_before 0, Rack::Cors do
allow do
origins 'example.com'

resource '*',
headers: :any,
methods: [:get, :post, :put, :patch, :delete, :options, :head]
end
end
将表示 origins 'example.com' 的行更改为 origin '*' 或者如果您的请求来自特定来源,则相应地设置它。
这对我有用。希望它也适用于您。干杯

关于ruby-on-rails - 如何在heroku上部署的Ruby on Rails 6 API后端中允许CORS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63107489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com