add a dynamic 404 page

This commit is contained in:
joshua stein 2017-04-17 12:19:41 -05:00
parent e6ba085507
commit 6a66dcca2d
5 changed files with 21 additions and 12 deletions

1
.gitignore vendored
View File

@ -23,6 +23,7 @@ public/assets
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*

View File

@ -4,11 +4,23 @@ 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 = "About"
render :action => "about"
rescue
rescue ActionView::MissingTemplate
render :text => "<div class=\"box wide\">" <<
"A mystery." <<
"</div>", :layout => "application"
@ -19,8 +31,9 @@ class HomeController < ApplicationController
begin
@title = "Chat"
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
@ -30,7 +43,7 @@ class HomeController < ApplicationController
begin
@title = "Privacy"
render :action => "privacy"
rescue
rescue ActionView::MissingTemplate
render :text => "<div class=\"box wide\">" <<
"You apparently have no privacy." <<
"</div>", :layout => "application"

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

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"

View File

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