首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails catch-all路由阻止对/rails/info/routes的调用

Rails catch-all路由阻止对/rails/info/routes的调用
EN

Stack Overflow用户
提问于 2016-02-13 02:10:04
回答 1查看 620关注 0票数 0

我正在做一个Rails项目,它使用了一个通用的路线,主要用于渲染一个Angular前端页面。因为这个包罗万象的路由已经在项目中了,所以我现在已经失去了点击/rails/info/routes的能力,这对我来说是比较方便的。

下面是我的routes.rb的相关部分:

代码语言:javascript
复制
Rails.application.routes.draw do
  match "/delayed_job" => DelayedJobWeb, :anchor => false, via: [:get, :post]

  namespace :api, format: false, defaults: {format: :json} do
    .....
    get '*path' => 'base#not_found'
  end

  namespace :admin, format: false, except: [:show] do
    .....
    root 'home#index'
  end

  devise_for :users

  get 'styleguide' => 'styleguide#index'
  get '*path' => 'bootstrap#index'
  root 'bootstrap#index'

end
EN

回答 1

Stack Overflow用户

发布于 2016-02-13 02:19:27

弄明白了-对于遇到这种情况的任何人,你可以在请求不是以/rails开头的地方添加一个contstraint:

代码语言:javascript
复制
  get '*path' => 'bootstrap#index', constraints: -> (req) { !(req.fullpath =~ /^\/rails\/.*/) }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35369428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档