Top > 開発ガイド > コンポーネント開発Tips集 > コンテンツ承認

コンテンツ承認

対象バージョン

当ドキュメントはRubricks-0.6.x向けです。

概要

Rubricksはコンテンツの承認プロセスを容易にする拡張を提供しています。
またこの拡張を利用することで、コンテンツ承認ブロックに承認待ちのコンテンツとして表示されます。

扱われる承認ステータスは以下の3つです。

  • 承認待ち
  • 差し戻し
  • 承認済み

実装の手順

Controller

  • contents_approval_controller

拡張するコントローラでcontents_approval_controllerを呼び出します。
引数1:model_id コンテンツを表すモデル
引数2:options

:approval_itemコンテンツを表すモデル名
:approval_controller承認後に実行するコントローラ
:approval_action承認後に実行するアクション

サンプル

class News::NewsController < ApplicationController
  contents_approval_controller('/news/news_item', 
   :approval_item => '[_News_Approval_Item]', 
   :approval_action => 'main')

追加されるメソッド

item_approve承認を行います。承認前にbefore_approve、承認後にafter_approveが呼ばれます。
item_return差し戻しを行います。承認前にbefore_return、承認後にafter_returnが呼ばれます。

Model

  • acts_as_approval

拡張するコントローラでacts_as_approvalを呼び出します。
引数1:options

:approval承認ステータスを表すカラム(デフォルト:approval)

サンプル

class News::NewsItem < ActiveRecord::Base
  acts_as_approval

追加されるメソッド

item_approve「承認」ステータスに更新する。
item_return「差し戻し」ステータスに更新する。
item_waiting「承認待ち」ステータスに更新する。
is_approvaled?「承認」ステータスならtrue、違うならfalseを返す
item_return?「差し戻し」ステータスならtrue、違うならfalseを返す
item_waiting?「承認待ち」ステータスならtrue、違うならfalseを返す
  • waiting_countの実装

コンテンツを表すモデル側に承認待ち件数を返すwaiting_countを実装します。
承認待ち件数はコンテンツ承認ブロックに表示されます。