如何在rails-api中响应OPTIONS HTTP方法?

yok*_*zor 12 ruby-on-rails cors http-options-method rails-api

我正在使用rails-api构建一个公共的json api.

我想回应OPTIONS HTTP方法以利用跨源资源共享.

http://www.w3.org/TR/cors/

我这样做:

headers['Access-Control-Allow-Methods'] = 'POST, PUT, DELETE, GET, OPTIONS'
Run Code Online (Sandbox Code Playgroud)

它可以工作,但有些URL不支持所有HTTP方法.在那些情况下,我撒谎.

我不想为每个URL配置Access-Control-Allow-Methods.

有没有办法根据我的路线响应Access-Control-Allow-Methods?

and*_*amm 7

看看rack-cors gem,它允许你像路由文件一样配置它

https://github.com/cyu/rack-cors

  • rack-cors非常好,但不是基于我的路线.如果我的路由响应GET/list 200和POST/list with 404,那么我希望它用Access-Control-Allow-Method响应OPTIONS:仅限GET,OPTIONS.Rack-cors这样做,但我必须配置.因为我已经在路由文件上配置了,所以我不想再次配置它.但是我会接受你的回答,因为我现在认为这样做更好. (2认同)