Browse Source

add a dynamic 404 page

master
Carl Chenet 3 years ago
parent
commit
722189b6ac
5 changed files with 22 additions and 12 deletions
  1. +1
    -0
      .gitignore
  2. +17
    -3
      app/controllers/home_controller.rb
  3. +2
    -0
      config/application.rb
  4. +2
    -0
      config/routes.rb
  5. +0
    -9
      public/404.html

+ 1
- 0
.gitignore View File

@@ -24,6 +24,7 @@ upstream-patches
app/views/home/privacy.*
app/views/home/about.*
app/views/home/chat.*
app/views/home/404.*
app/assets/stylesheets/local/*
public/favicon.ico
public/apple-touch-icon*


+ 17
- 3
app/controllers/home_controller.rb View File

@@ -4,11 +4,24 @@ class HomeController < ApplicationController
before_filter { @page = page }
before_filter :require_logged_in_user, :only => [ :upvoted ]

def four_oh_four
begin
@title = "Resource Not Found"
render :action => "404", :status => 404
rescue ActionView::MissingTemplate
render :text => "<div class=\"box wide\">" <<
"<div class=\"legend\">404</div>" <<
"Resource not found" <<
"</div>", :layout => "application"
end
end


def about
begin
@title = I18n.t 'controllers.home_controller.abouttitle'
render :action => "about"
rescue
rescue ActionView::MissingTemplate
render :text => I18n.t('controllers.home_controller.abouttext'), :layout => "application"
end
end
@@ -17,8 +30,9 @@ class HomeController < ApplicationController
begin
@title = I18n.t 'controllers.home_controller.chattitle'
render :action => "chat"
rescue
rescue ActionView::MissingTemplate
render :text => "<div class=\"box wide\">" <<
"<div class=\"legend\">Chat</div>" <<
"Keep it on-site" <<
"</div>", :layout => "application"
end
@@ -28,7 +42,7 @@ class HomeController < ApplicationController
begin
@title = I18n.t 'controllers.home_controller.privacytitle'
render :action => "privacy"
rescue
rescue ActionView::MissingTemplate
render :text => I18n.t('controllers.home_controller.licensetext'), :layout => "application"
end
end


+ 2
- 0
config/application.rb View File

@@ -30,6 +30,8 @@ module Lobsters

config.cache_store = :file_store, "#{config.root}/tmp/cache/"

config.exceptions_app = self.routes

config.after_initialize do
require "#{Rails.root}/lib/monkey.rb"
end


+ 2
- 0
config/routes.rb View File

@@ -4,6 +4,8 @@ Lobsters::Application.routes.draw do
:protocol => (Rails.application.config.force_ssl ? "https://" : "http://"),
:as => "root"

get "/404" => "home#four_oh_four", :via => :all

get "/rss" => "home#index", :format => "rss"
get "/hottest" => "home#index", :format => "json"



+ 0
- 9
public/404.html View File

@@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>404</title>
</head>
<body>
<h1>gone fishin'</h1>
</body>
</html>

Loading…
Cancel
Save