Sha256: b8309c8ccacb48e2e07d8ac2e613cdac2536be6ee6185b807bffddd111ff1159
Contents?: true
Size: 1.19 KB
Versions: 25
Compression:
Stored size: 1.19 KB
Contents
module RsPages extend ActiveSupport::Concern included do before_filter :find_page end private def find_page return if rails_admin? @seo_page = find_seo_page request.path if !@seo_page.nil? && !@seo_page.redirect.blank? redirect_to @seo_page.redirect, status: :moved_permanently end end def find_seo_page(path) do_redirect = false if path[0] != '/' path = '/' + path end if path.length > 1 && path[-1] == '/' path = path[0..-2] do_redirect = true end page = Page.enabled.where(fullpath: path).first if page.nil? && !params[:slug].blank? page = Page.enabled.where(fullpath: "/" + params[:slug]).first end if page.nil? page = find_seo_extra(path) end if page.nil? do_redirect = true spath = path.chomp(File.extname(path)) if spath != path page = Page.enabled.where(fullpath: spath).first end end if !page.nil? && do_redirect redirect_to path, status: :moved_permanently end page end def find_seo_extra(path) nil end def rails_admin? self.is_a?(RailsAdmin::ApplicationController) || self.is_a?(RailsAdmin::MainController) end end
Version data entries
25 entries across 25 versions & 1 rubygems