Sha256: 68a3a7d528d29f7907d056d0cc68f9a904706f9b44b4ce6f03f201d79ce99d0a
Contents?: true
Size: 1.82 KB
Versions: 3
Compression:
Stored size: 1.82 KB
Contents
require_dependency 'comable/admin/application_controller' module Comable module Admin class PagesController < Comable::Admin::ApplicationController load_and_authorize_resource class: Comable::Page.name, except: :index, find_by: :slug def index @q = Comable::Page.ransack(params[:q]) @pages = @q.result.accessible_by(current_ability) end def show edit render :edit end def new end def edit set_preview_session end def create @page = Comable::Page.new(page_params) @page.slug = @page.normalize_slug(page_params[:slug]) if @page.save redirect_to comable.admin_page_path(@page), notice: Comable.t('successful') else render :new end end def update @page.attributes = page_params @page.slug = @page.normalize_slug(page_params[:slug]) if @page.save redirect_to comable.admin_page_path(@page), notice: Comable.t('successful') else render :edit end end def destroy @page.destroy redirect_to comable.admin_pages_path, notice: Comable.t('successful') end private def page_params params.require(:page).permit( :title, # コンテンツのタイトル :content, # コンテンツ :page_title, # ページのタイトル :meta_description, # ディスクリプション :meta_keywords, # キーワード :slug, # スラグ :published_at # 公開日時 ) end def set_preview_session session[Comable::Page::PREVIEW_SESSION_KEY] ||= {} session[Comable::Page::PREVIEW_SESSION_KEY][@page.slug] = true end end end end
Version data entries
3 entries across 3 versions & 2 rubygems