【发布时间】:2014-03-16 22:54:48
【问题描述】:
我正在使用 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 文章:
Where is the default "Welcome Aboard" page located in my app?
它声明从 Rails 4 开始,index.html 不再位于 public/ 目录中,因为它包含在 gem 中。
是否可以在 routes.rb 文件中只指向公共目录中的错误页面之一?
我尝试了以下方法,但它不起作用:
root 'public/404.html'
我不想创建一个只指向错误页面的控制器,有没有更好的 rails 方式?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 rails-api