2

我正在使用 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 方式?

4

1 回答 1

0

只需删除public/index.html. 这将导致对根路径的请求产生404(未找到)响应。

于 2014-03-16T23:34:29.487 回答