仅为localhost创建rails路由

时间:2016-10-18 12:23:38

标签: ruby-on-rails ruby routing

我希望某些rails路由只能从localhost访问。换句话说,如果您尝试从非本地主机连接访问该URL,您将获得相当于不存在的路由的响应。

最佳地,在routes.rb本身中将路由指定为本地的某种方式将是最干净的解决方案,但是如果有某种方法可以稍后在控制器级别过滤请求,例如也可以。

2 个答案:

答案 0 :(得分:3)

如果要指定这些URL仅存在于开发环境中,则可以执行简单的操作:

if Rails.env.development?
  #your routes
end

但是如果您的服务器处于开发模式,而其他人想要指定这些路由仅存在于localhost,那么您可以为域添加约束:

if Rails.env.development?
  resources :users, constraints: { domain: 'localhost' }
end

答案 1 :(得分:1)

文件routes.rb包含路由的特殊DSL,但它的仍然是ruby 。 那么,你是否尝试过简单的路线?

# routes.rb

if Rails.env.development?
  # your special local routes definition
end