Top > 開発ガイド > コンポーネント開発逆引きリファレンス > コンテンツ承認プロセスを実装する

コンテンツ承認プロセスを実装する

対象バージョン

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

概要

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

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

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

イメージ

使い方

  1. コントローラでcontents_approval_controllerを呼び出します。
    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が呼ばれます。
  1. モデルでacts_as_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を返す
  1. 追加されたメソッドを使って承認プロセスを組み立てます。
  • waiting_countの実装

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

API

contents_approval_controller(model_id, options)

  • コントローラを拡張し、コンテンツの承認、差し戻しを行うメソッドを追加します。
引数必須初期値説明
model_id-String承認対象コンテンツを表すモデル
options-Hash下記「オプション」を参照

オプション

キー 必須 初期値 説明
:approval_item - String コンテンツを表すモデル名
:approval_controller - String 承認後に実行するコントローラ
:approval_action - String 承認後に実行するアクション

acts_as_approval(options)

  • モデルを拡張してコンテンツの承認ステータスに関するメソッドを追加します。
引数必須初期値説明
options--Hash下記「オプション」を参照

オプション

キー 必須 初期値 説明
:approval - 'approval' String 承認ステータスを表すカラム

Attachments