有没有办法在Rails路由中禁止路径?

时间:2016-02-12 15:29:06

标签: ruby-on-rails ruby routes

我有一个frontend / API的开发和生产版本。生产版本位于文件夹public/articles/...中,开发版本位于public/articles/development/...中。它包含javascript,css和其他资产。

在我的Rails路线中,我有:

get 'articles' => 'articles#show'

访问production_url/articles/#1带我到制作中的api,development_url/articles/development/#1带我到开发中的api。

我想阻止任何人访问生产网站上的开发版本:production_url/articles/development/#1。在Rails路由中是否有办法禁止/重新路由访问此URL /路径的人?

1 个答案:

答案 0 :(得分:2)

你“禁止”路线的方式是首先不定义它。您的开发版本不应该在生产中定义。如果你想在环境中写出功能,最好的办法是简单地将功能封装在一个块中:

unless Rails.env.production?
    #...
end

也就是说,这种具有特定“开发”和“生产”版本服务的形式,每个都部署到您的开发和生产站点,似乎......非常规,充其量。