:via => [:options]在rails路由上的ruby中

roo*_*ler 7 ruby-on-rails-3

在一些Rails应用程序中,我在routes.rb中看到了这一点

root :to => "home#index", :via => [:get]
root :to => "accounts#manage", :via => [:options]
Run Code Online (Sandbox Code Playgroud)

我无法理解这两个根URL是如何存在的.谷歌搜索也没有帮助清除:选项参数.有人可以帮忙吗?

谢谢

Pin*_*nyM 9

根据HTTP规范(并在此处进行了解释),有一个OPTIONS动词 - 路由可以支持.

使用OPTIONS的动力是请求Web服务API的文档; 结果旨在提供有关如何使用API​​的信息.

ActionDispatch::Routing::HTTP_METHODS
=> [:get, :head, :post, :put, :delete, :options]
Run Code Online (Sandbox Code Playgroud)

要回到您的问题,在典型的浏览器GET请求中,将使用第一条路线.发出OPTIONS请求时,将使用第二条路径.