我正在使用 rails-api 创建移动 api,当用户转到 api 的 url 时,我得到了预期的“欢迎登机”页面。如果用户尝试使用网络浏览器访问根 url,我想要做的是删除它并只给用户一个 403 页面(或 404)。
我知道我可以创建一个控制器(error_pages),然后将它与routes.rb中的一个方法(no_access)进行匹配,然后在views目录中有一个默认呈现的页面。
root 'error_pages#no_access' # in routes.rb
我假设有一种更简单的方法可以使用 Rails 魔法来实现这一点。
编辑:
我发现这篇 SO 文章:
它指出从 Rails 4 开始,index.html 不再位于 public/ 目录中,因为它包含在 gem 中。
是否可以在 routes.rb 文件中仅指向公共目录中的错误页面之一?
我尝试了以下方法,但它不起作用:
根“公共/404.html”
我不想创建一个控制器来指向一个错误页面,有没有更好的 rails 方式?