2012-02-20 4 views
1

に一致し、404コードとエラーレール410は

ActionController::RoutingError No route matches

との回答は、私が410レールのエラーのコードの代わりに、404に応答することができレール?

+0

404は、誤ったURLのためになります。 410は削除されたコンテンツ用です。 – superluminary

答えて

3

410 error(Gone)は、一度利用可能だったがもう使用していないリソース用の理由はわかりません。

答えをhttps://stackoverflow.com/a/5360684/219743にすると、それを実行できます。

はちょうどあなたがまだパブリックフォルダに404.htmlを指すようにしたい場合は

def render_404 
    if /(jpe?g|png|gif)/i === request.path 
    render :text => "404 Not Found", :status => 410 # Change the status here 
    else 
    render :template => "shared/404", :layout => 'application', :status => 410 #and here 
    end 
end 

にrender_404方法を変更します。

render :file => "#{Rails.root}/public/404.html"