相关疑难解决方法(0)

Heroku,Rails 4和Rack :: Cors

我正在尝试将Rack :: Cors与我的Rails 4应用程序一起使用,以便我可以执行基于JSON的API.

CORS在我的Gemfile中是这样的:

gem 'rack-cors', :require => 'rack/cors'
Run Code Online (Sandbox Code Playgroud)

我正在我的application.rb文件中进行配置,如下所示:

config.middleware.insert_after Rails::Rack::Logger, Rack::Cors, :debug => true, :logger => Rails.logger do
    allow do
        origins '*'
        resource '/messages*', :headers => :any, :methods => [:post, :options]
    end
end
Run Code Online (Sandbox Code Playgroud)

我插入后Rails::Rack::Logger试图获取调试信息.

我正在使用CURL来测试它,这是我一直在运行的:

curl --verbose --request OPTIONS http://jasonbutzinfo.herokuapp.com/messages.json --header 'Origin: http://www.jasonbutz.info' --header 'Access-Control-Request-Headers: Origin, Accept, Content-Type' --header 'Access-Control-Request-Method: POST'
Run Code Online (Sandbox Code Playgroud)

当我在本地计算机上运行rails应用程序时,它可以正常运行.当我点击Heroku应用程序时,这就是我得到的:

> OPTIONS /messages.json HTTP/1.1
> User-Agent: curl/7.30.0
> Host: jasonbutzinfo.herokuapp.com
> Accept: */*
> Origin: http://www.jasonbutz.info
> Access-Control-Request-Headers: Origin, Accept, Content-Type
> Access-Control-Request-Method: …
Run Code Online (Sandbox Code Playgroud)

heroku cors ruby-on-rails-4

18
推荐指数
2
解决办法
9405
查看次数

标签 统计

cors ×1

heroku ×1

ruby-on-rails-4 ×1