在我的routes.rb中,我有以下内容:
%w(401 404 422 500 ).each do |code|
get code, :to => "errors#show", :code => code
end
根据rake路线创建以下路线:
GET /401(.:format) errors#show {:code=>"401"}
GET /404(.:format) errors#show {:code=>"404"}
GET /422(.:format) errors#show {:code=>"422"}
GET /500(.:format) errors#show {:code=>"500"}
这是我的错误控制器:
class ErrorsController < ApplicationController
def show
Rails.logger.debug("ERROR WITH STATUS #{status_code.to_s}")
render status_code.to_s, :status => status_code
end
def unauthorized
render "401"
end
protected
def status_code
Rails.logger.debug("STATUS CODE: #{params[:code]}")
params[:code] || 500
end
end
在我的观点中,我在&#34;错误&#34;
文件夹下面有以下页面我想重定向到控制器中的错误页面。如果我想重定向到401,我该怎么做?
答案 0 :(得分:0)
我能够通过将此路由添加到我的routes.rb来解决问题:
get "errors/unauthorized"
这会在我的错误控制器中调用“未授权”操作:
def unauthorized
render "401"
end