AtcitveFormはテーブルに紐付かないモデルを使って入力フォームを作るためのプラグイン。
データの入れ物とvalidationを担う。
「ActiveForm」という名前のプラグインは複数あるので注意。
Gemでインストールすると、module版のActiveFormがインストールされるが、よく分からなかったのでパス。
どうやら「RealityForge」で公開されたActiveFormが主流のようだ。
最新版?:
maciej's active_form at master - GitHub
使い方:
RailsのActiveFormの使い方 - 京の路
Ruby on Rails プラグイン まとめ wiki - active_formプラグイン
るびすけの開発日記 ~Ruby on Rails~ - IT業界のための転職サイト -
Rails2.2以降ではエラーが発生する。
undefined method `self_and_descendants_from_active_record' for Xxx:Class
rails2.2でactive_formを導入するときにはまった - オレワカ。を参考に、「self_and_descendants_from_active_record」を追加すると解消した。
svnから持ってくるバージョンでは 「self_and_descendents_from_active_record」 すらも無いので注意。
使用例
#コントローラ
class SearchController < ApplicationController
def index
@search = Search.new(params[:search])
if params[:search]
@search.valid?
end
end
end
#モデル
require 'active_form'
class Search < ActiveForm
attr_accessor :tag
validates_presence_of :tag
validates_length_of :tag, :maximum => 3
def validate
# カスタム入力チェックはここで
end
end
<!-- ビュー -->
<% form_for(:search, @search) do |f| %>
<%= error_messages_for :search, "tag" %>
<%= f.text_field "tag" %>
<% end %>
0 件のコメント:
コメントを投稿