【问题标题】:rails 3 show 404导轨 3 显示 404
【发布时间】:2011-07-20 03:05:57
【问题描述】:

如何改为渲染 404 NoMethodError in People#show 错误

代码

def show
  @person = Person.find(params[:id])
   respond_to do |format|
    format.html # show.html.erb
    format.xml  { render :xml => @person }
  end
end

【问题讨论】:

标签: ruby-on-rails-3


【解决方案1】:

NoMethodError 将在生产模式下呈现 500,但是如果您还想在开发模式下在标题中呈现 404 状态,您可以执行以下操作:

 redirect_to :status => 404

要渲染标准404页面,可以查看置顶答案here.

【讨论】:

  • 哦,很好。 NoMethodError 将在生产模式下呈现 404
  • 很抱歉,它实际上会呈现 500 错误。无论哪种方式,它都比您在开发模式中看到的更优雅。
  • 那么,如何呈现 404?我不希望我的用户看到 500 错误页面。
  • 您可以看到我在答案中包含的链接。基本上,您尝试捕获错误并呈现 404,如上面的链接所示。
  • 我正在做的是将rescue_from ActiveRecord::RecordNotFound do render '404' end 放入application_controller。但这是正确的方法吗?这是 rails 处理 recordnotfound 错误的方式吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-15
  • 1970-01-01
  • 2011-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多