Created
October 28, 2011 18:18
-
-
Save bsodmike/1322962 to your computer and use it in GitHub Desktop.
Render 404 via catch-all route in Rails 3.1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class CmsPageNotFound < StandardError; end | |
class PublicController < ApplicationController | |
rescue_from CmsPageNotFound do | |
render 'not_found', :status => :not_found and return false | |
end | |
def index | |
end | |
def show | |
@content_item = parse_path(params[:path]) | |
raise CmsPageNotFound unless @content_item | |
end | |
private | |
def parse_path(path_parts) | |
# item = nil | |
# path = path_parts.split("/") | |
# if path.size == 1 | |
# %w().include?path[0] ? item = true : item = false | |
# elsif path.size >= 2 | |
# end | |
# item | |
nil | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
match "*path" => 'public#show' |
Thanks!
@smostovoy: If this was SO, I'd definitely give you an upvote. Thanks for the nice simple solution!
And FYI, I'm running Rails 3.2.13 with Ruby 1.9.3-p392.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Nice :)