我想在我的 Rails 5.1 应用程序中呈现特定条件下的默认 404 页面。我的控制器中有这个
def index
...
if worker
...
else
puts "page not found"
render :status => 404
end
end
但是,即使满足条件(调用了我的 404 分支),Rails 仍在尝试呈现我的 index.htrml.erb 页面,这会导致其他错误,因为预期的模型属性不存在。有没有办法可以在不呈现页面的情况下返回 404 状态代码?
最简单的方法是使用状态代码 404 呈现 public/404,您有 404 页面布局的任何特定布局: true否则layout: false。然后返回一个假值
render :file => "#{Rails.root}/public/404", layout: false, status: 404
return false
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句