Sha256: 4e23187d9aaab8331fe61fa85e9bdfde648d4e0730b349835a9fa41d5412d5e8
Contents?: true
Size: 1.83 KB
Versions: 3
Compression:
Stored size: 1.83 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).by_newest 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 & 1 rubygems