创建新的Rails应用程序时,默认情况下,/
除非您在中指定了替代方法root
,否则它将在“欢迎使用Rails”页面上提供该页面routes.rb
。
我的应用程序当前仅从子路径(例如/api/v1/
)提供服务,因此访问/
应生成404。如何实现此目的?
如果您想404
做出回应,我可以想到两种方法。
首先,您可以路由到Rack,并返回一个简单的404
响应:
# config/routes.rb
root to: proc { [404, {}, ["Not found."]] }
其次,您可以采用明显的路线,并把根指向要返回的控制器动作404
:
# config/routes.rb
root to: "application#not_found"
# app/controllers/application_controller.rb
def not_found
render plain: "Not found.", status: 404
end
当然,第三个选择是采取不存在的行动,但是我认为这不是一个好主意,因为意图被掩盖了,很容易被误认为是错误的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句