![](/img/trans.png)
[英]What's a Capfile? And how do I use it correctly with Ruby on Rails?
[英]How do I correctly handle redirects for bad url's to custom 404 page in ruby on rails?
用戶可以這樣訪問其他用戶的個人資料:
site.com/username
我的用戶控制器中的find方法將通過用戶名查找用戶。.如果該用戶不存在,我希望將他們重定向到我將創建的自定義404錯誤頁面。
我還希望將它們重定向為他們鍵入的任何其他不存在的URL。
我在Google上找到了一些解決方案,但想知道是否有人可以在rails 3.2中給我一個最新的示例,因為我發現的這些教程是pre rails 3.1。
親切的問候
我在Rails 3.2上嘗試了此解決方案,並且它可以正常工作。
https://makandracards.com/makandra/12807-custom-error-pages-in-rails-3-2
在你的config/application.rb
config.exceptions_app = self.routes
在你的config/routes.rb
get '/404', to: 'errors#not_found' get '/500', to: 'errors#server_error'
創建app/controllers/errors_controller.rb
class ErrorsController < ApplicationController def not_found render status: 404 end def server_error render status: 500 end end
創建app/views/errors/not_found.html.haml
和app/views/errors/server_error.html.haml
(更換haml
由erb
,如果你不使用HAML)
重新啟動服務器
在生產中, ActiveRecord::RecordNotFound
異常將自動呈現您的public/404.html
文件。
當record is not found
或輸入invalid URL
時,您始終可以呈現模板404以及狀態代碼
render :template => 'public/404.html', :status => 404
這是“ Ruby on Rails中的自定義動態錯誤頁面”的博客,它將幫助您
它不是在/public/404.html中嗎?
UPDATE
實際上,我非常確定的是,在生產模式下在nginx上運行我的頁面時出現的是完全相同的404頁面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.