ruby-on-rails-3 - :via => [:options] in ruby on rails routes

标签 ruby-on-rails-3

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

root :to => "home#index", :via => [:get]
root :to => "accounts#manage", :via => [:options]

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

谢谢

最佳答案

根据 HTTP spec (并解释了更多 here ),有一个 OPTIONS 动词 - 路由可以支持。

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

ActionDispatch::Routing::HTTP_METHODS
=> [:get, :head, :post, :put, :delete, :options]

回到你的问题,在典型的浏览器 GET 请求中,将使用第一个路由。当发出 OPTIONS 请求时,将使用第二条路由。

关于ruby-on-rails-3 - :via => [:options] in ruby on rails routes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16222334/

相关文章:

ruby-on-rails - Ruby on Rails 语法问题

ruby-on-rails - `autodetect' : No known ORM was detected

jquery - 使用 Rails 3.2 和 AJAX 将多个文件直接上传到 Amazon S3(非闪存上传解决方案)

ruby-on-rails - rails 3.1 多种货币

ruby-on-rails - 尝试在 Rails 中保存嵌套属性时 ActiveRecord::AssociationTypeMismatch

ruby-on-rails - 未初始化的常量Delayed::Job

ruby-on-rails-3 - 使用 Virtual Box 在 Linux 上运行 Spork for Rails - 端口使用错误

ruby-on-rails - Ruby:-查找文件中某个字符的出现次数

ruby-on-rails-3 - Rails 中基于关联的排序和分页记录

ruby-on-rails - 如何在本地测试并发?