Ruby on rails 为rails api根提供403错误

Ruby on rails 为rails api根提供403错误,ruby-on-rails,ruby-on-rails-4,rails-api,Ruby On Rails,Ruby On Rails 4,Rails Api,我正在使用rails api创建移动api,当用户访问api的url时,我会看到预期的“欢迎加入”页面。我想做的是删除它,如果用户试图使用web浏览器访问根url,只需给用户403页(或404页) 我知道我可以创建一个控制器(error_pages),然后将其与routes.rb中的方法(no_access)匹配,然后在views目录中创建一个默认呈现的页面 root 'error_pages#no_access' # in routes.rb 我假设有一种更简单的方法可以通过Rails ma

我正在使用rails api创建移动api,当用户访问api的url时,我会看到预期的“欢迎加入”页面。我想做的是删除它,如果用户试图使用web浏览器访问根url,只需给用户403页(或404页)

我知道我可以创建一个控制器(error_pages),然后将其与routes.rb中的方法(no_access)匹配,然后在views目录中创建一个默认呈现的页面

root 'error_pages#no_access' # in routes.rb
我假设有一种更简单的方法可以通过Rails magic实现这一点

编辑:

我发现这篇文章很有道理:

它声明从Rails 4开始,index.html不再位于public/目录中,因为它包含在gem中

在routes.rb文件中是否可以只指向公共目录中的一个错误页

我尝试了以下方法,但无效:

根目录“public/404.html”


我不想创建一个只指向错误页面的控制器,有更好的rails方法吗?

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

因为我使用的是rails api gem,所以在公共目录中没有创建index.html。这是否意味着我将在dev环境中获得“欢迎”页面,但一旦它被推到prod(在我的例子中是Heroku),它将是404?我刚刚测试了它,并在我的例子中创建了文件。你能仔细检查一下它不在那里吗?它看起来像是从Rails 4开始的,index.html页面不在公共目录中。我已经更新了这个问题。