Class CGIKit::DirectAction
In: docs/rdoc_ja.rb
Parent: Object

CGIKit::DirectActionはURLからインスタンスメソッドを実行するためのクラスです。 このクラスの (アクション) メソッドはComponentと異なり、 URLで指定して実行することができます。 また、セッションの有無にかかわらず実行できるステートレスな処理でもあります。

アクションメソッド

URLで指定できるメソッドは、メソッド名に ‘_action’ とつくメソッドです。 このメソッドはResponseComponentのインスタンスを返す必要があります。

メソッドを起動するURL

../App.cgi/d/:DirectAction#default_action
../App.cgi/d/search:DirectAction#search_action か searchdefault_action
../App.cgi/d/Data/search:Data#search_action

タイムアウトしたセッションの削除

__sweep_sessions ダイレクトアクションを使うと、 ブラウザから不要なセッションを削除できます。 "localhost:8080" でアプリケーションを起動している場合、 "localhost:8080/d/__sweep_sessions" にアクセスすると、 セッション削除用のページが表示されます。 セッション削除ページではパスワード用のフォームが表示され、 Application#sweep_password に設定したパスワードを入力すると、 タイムアウトしたセッションを削除できます。

この機能を有効にするには、Application#sweep_password にパスワードを設定します。 nilにすると無効になります。デフォルト値は nil です。

Methods

Constants

DEFAULT_ACTION_NAME = "default"   デフォルトアクション名。
SWEEP_FAILED_END = "<!-- SWEEP_FAILED_END -->"
ACTION_TEXT = "_action"
SWEEP_ACTION_NAME = "__sweep_sessions"
SWEEP_DELETED_END = "<!-- SWEEP_DELETED_END -->"
SWEEP_PASS_KEY = "pass"
SWEEP_FAILED_START = "<!-- SWEEP_FAILED_START -->"
SWEEP_DELETED_START = "<!-- SWEEP_DELETED_START -->"
SWEEP_PROOF = "<!-- CGIKit::DirectAction#__sweep_sessions -->"

Public Class methods

Public Instance methods

タイムアウトしたすべてのセッションを削除します。

CGIKit::Applicationオブジェクトを返します。

CGIKit::Contextオブジェクトを返します。

デフォルトアクションです。 メインページを返します。

デフォルトアクション名を返します。 デフォルトは "default" です。

指定したアクションに対応するメソッドが存在すれば true を、なければ false を返します。

セッションを返します。 セッションがなければ nil を返します。

アクションに対応するメソッド名(’_action’を付加した名前)を返します。

指定した名前のコンポーネントを生成して返します。 残りの引数はそのままコンポーネントのコンストラクタ new() に渡されます。

アクションメソッドを実行します。 実行されるのは、メソッド名が action + "_action" のメソッドです。

CGIKit::Requestオブジェクト返します。

CGIKit::Sessionオブジェクトを返します。 セッションがなければ、新しくセッションを生成して返します。

セッションIDを返します。

指定した各キーに対応するフォーム値を、 同名のインスタンス変数に設定します(アクセサメソッドがあればそれを使います)。 フォーム値はすべて配列で設定されます。

指定した各キーに対応するフォーム値を、 同名のインスタンス変数に設定します(アクセサメソッドがあればそれを使います)。 同キーにフォーム値が複数あるとき、先頭の値が設定されます。

[Validate]