我希望某些rails路由只能从localhost访问。换句话说,如果您尝试从非本地主机连接访问该URL,您将获得相当于不存在的路由的响应。
最佳地,在routes.rb本身中将路由指定为本地的某种方式将是最干净的解决方案,但是如果有某种方法可以稍后在控制器级别过滤请求,例如也可以。
答案 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