相关疑难解决方法(0)

无法让机架在轨道应用中工作

我想在我的rails应用程序中实现CORS,所以我用Google搜索了rack-cors gem.我按照README中的说法做了一切,相应地更新了Gemfile并更新application.rb如下:

module YourApp
  class Application < Rails::Application

    # ...

    config.middleware.use Rack::Cors do
      allow do
        origins '*'
        resource '*', :headers => :any, :methods => [:get, :post, :options]
      end
    end

  end
end
Run Code Online (Sandbox Code Playgroud)

但它没有用.不管我做了什么,在浏览器控制台中我不断收到消息:
XMLHttpRequest cannot load https://somewebsite.com. Origin http://0.0.0.0:3000 is not allowed by Access-Control-Allow-Origin.

看完这个博客帖子问题在github上,我意识到,机架CORS中间件在中间件堆栈事项可能位置.所以我按照github问题的说法做了:

module YourApp
  class Application < Rails::Application

    # ...

    config.middleware.insert 0, Rack::Cors do
      allow do
        origins '*'
        resource '*', :headers => :any, :methods => [:get, :post, :options]
      end
    end

  end …
Run Code Online (Sandbox Code Playgroud)

ruby rack ruby-on-rails cors

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

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

我知道似乎有一些与此主题相关的答案,但到目前为止,没有一个对我有用。我构建了一个 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
Run Code Online (Sandbox Code Playgroud)

这段代码运行良好。什么可能导致此错误?或者有人可以推荐比 更好的宝石rack-cors吗?我会很感激得到任何人的帮助。先感谢您。

ruby ruby-on-rails

5
推荐指数
2
解决办法
2937
查看次数

标签 统计

ruby ×2

ruby-on-rails ×2

cors ×1

rack ×1