【发布时间】:2016-10-21 23:07:57
【问题描述】:
背景: 通常,在我们想要手动指定响应中返回的 HTTP 状态码的情况下,Rails 会为我们提供a nice set of pre-defined human-readable Ruby symbols 来使用,而不是显式地使用数值那些代码。
我们可以做如下的事情,例如:
render text: "hurray!", status: :ok
这当然最终是一样的:
render text: "hurray!", status: 200
在我的情况下,我想呈现一个自定义 HTTP 状态代码(我随意选择了数字 242)。显然,这段代码不是标准的,并且在 Rails 中没有符号表示,所以我必须使用实际的数值。
当前解决方案:为了使其在代码中相对易于阅读,我在我的一个常量文件中放置了一个常量,如下所示:
initializers/constants.rb
NEEDS_UPDATE_CODE = 242
在我的控制器中,我渲染如下:
render text: "whatever I want to render", status: NEEDS_UPDATE_CODE
问题:这显然工作得很好,但我想知道,有没有办法为 Rails 的自定义 HTTP 状态代码添加新的符号表示?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 http-status-codes