Sha256: 095ac3b79da55d73e6e12725fa2494cd8eb8a591e5fec9d25e0ea9c57abff8fe
Contents?: true
Size: 968 Bytes
Versions: 4
Compression:
Stored size: 968 Bytes
Contents
class PagesController < ApplicationController include SpudCmsLayoutActions respond_to :html before_action :set_default_content_type def show # prevents 500 errors if a url like "/home.jpg" is hit if request.format != :html render_404 return end url_name = !params[:id].blank? ? params[:id] : Spud::Cms.root_page_name @page = SpudPage.published_pages.find_by(url_name: url_name) if @page.blank? render_404 return end if @page.is_private? return if defined?(require_user) && require_user == false end layout = @page.layout || Spud::Cms.default_page_layout action_name = "#{layout}_action" send(action_name, request.method.downcase.to_sym) if respond_to?(action_name) render layout: layout end private def render_404 raise Spud::NotFoundError, item: 'page' end def set_default_content_type request.format = :html if params[:format].blank? end end
Version data entries
4 entries across 4 versions & 1 rubygems