【发布时间】:2016-02-22 17:05:47
【问题描述】:
如果我想以编程方式检索 rails 应用程序中所有路线的列表,我可以使用以下 sn-p:
Rails.application.routes.named_routes.each do |something|; end
每个返回的路由都有一个verb方法,该方法总是返回以下内容:"(?-mix:^GET$)",表示该路由响应GET。那么如何找到所有响应 POST、DELETE 等的路由呢?
【问题讨论】:
-
这个链接到的问题没有明确回答我的问题,但是答案就在这个代码 sn-p:
ROUTES = Rails.application.routes.routes.map do |route| # Turn route path spec into string; use "1" for all params path = route.path.spec.to_s.gsub(/\(\.:format\)/, "").gsub(/:[a-zA-Z_]+/, "1") verb = %W{ GET POST PUT PATCH DELETE }.grep(route.verb).first.downcase.to_sym { path: path, verb: verb } end
标签: ruby-on-rails ruby