You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby on Rails:如何在ERB视图中获取HTTP状态码并动态变更显示内容?

解决方案

在Rails视图中,你可以直接通过response.status对象获取当前请求的HTTP状态码,以此区分不同渲染场景:

方法一:通过状态码数值判断

直接对比状态码数值(409对应冲突状态,默认正常状态为200):

<%= if response.status == 200 %>
  Normal status code
<% else %>
  Error 409 - Conflict
<% end %>

方法二:通过状态码符号判断

Rails的状态码对象支持用symbol方法获取对应标识(比如:conflict对应409),可读性更强:

<%= if response.status.symbol == :conflict %>
  Error 409 - Conflict
<% else %>
  Normal status code
<% end %>

补充说明

  • 当控制器调用render my_view status: :conflict时,response.status会被设置为409,对应符号为:conflict
  • 正常渲染视图时,默认HTTP状态码为200,对应符号为:ok

内容的提问来源于stack exchange,提问作者Jimmy Li

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 05:24:52