2007ActiveRecordはRubyOnRailsのO/Rマッパーとして有名ですが、Railsに依存しているわけではなく単体で使えます。DBを用意するなにはともあれ、DBがないと始まらないので適当に用意します。);ユーザ名と年齢を管理するテーブルってことで。ActiveRecord::BaseendデータベースへのコネクションはActiveRecord::Base.establish_connectionで作られます。むずかしいところはないですね。socketは必ず書く必要はないです。書かない場合は/tmp/mysql.sockを見にいくのかな。ActiveRecord::Baseを継承することでマッピングクラスを定義することができます。クラス名がUserusersテーブルへのマッピングを定義していることになります。クラスを単数形、テーブル名を複数形にすることで自動的にマッピングされます。Configuration)ってやつです。データの保存newメソッド、もしくはcreateメソッドを使用し、ARオブジェクトを作成することでDBにデータを保存(Insert)することができます。newとcreateの違いは、newは明示的にsaveメソッドを実行する必要があり、createは自動的にsaveメソッドも実行されます。この時点でDBに格納されるデータの検索データが1件だけじゃ少ないので数件ほど追加しました。データの検索(Select)にはfindメソッドを使用します。他にもfind_allとか、find_by_sqlとかあるけどとりあえずfindのみの説明で。ちなみにfind_allは非推奨的な雰囲気。find(:all)を使えってことですね。details.findメソッドfindメソッドの引数にIDを指定することで、該当するデータのオブジェクトが得られます。IDは複数指定することが可能でその場合の戻り値は配列です。全件分のオブジェクトが得られます。こちらの場合も配列です。:firstを指定すると、先頭のオブジェクトを得られます。"age"=>"20"}>各カラムのデータにアクセスする場合は以下のようにします。UKActiveRecord::RecordNotFoundちなみに存在しないID(この場合だと5とか)を指定すると例外(ActiveRecord::RecordNotFound)が発生するので注意して下さい。普通に考えて、データへのアクセスにIDの指定とか不便すぎますよね。次は引数に条件文を与えてみたいと思います。SQLで言う、where文に該当します。nil条件文は:conditionsで指定します。1番目のfindはnameカラムのデータが”UK”に該当するものから先頭のオブジェクトを返します。ここで:firstの指定を:allに変更すると:conditionsに該当する全てのオブジェクトを配列で返します。"age"=>"20"}>]パラメータによるサニタイズ上記のやり方だとパラメータを直接クエリに挿入します。いわゆるサニタイズと言ったものは行っていません。それだと流石にまずいと思うので以下のようにパラメータ使用します。"age"=>"20"}>]このようにしてパラメータを指定することで”UK”と20はサニタイズされます。名前付きパラメータパラメータを使用している場合、クエスチョンマークが増えすぎるとわかりにくくなる時があります。その場合は名前つきパラメータを使用します。クエスチョンマークの代わりにシンボルを使用し、シンボルをキーにしたハッシュを渡します。"age"=>"20"}>]データの上書き保存データの上書き保存(Update)するにはfindメソッドなどでARオブジェクトを作成、操作しsaveメソッドで行ないます。"age"=>"69"}>]データの削除データの削除(Delete)はdeleteメソッドや、destroyメソッドを使用します。雑感とりあえずざっとActiveRecordに触れてみましたが、DBをRubyのオブジェクトのように扱えるのは思いの外気持ちがいいですなー。プライマリーキー名が”id”固定なところやテーブル名を複数形云々のあたりが気になる人はいるのかなぁと。あと複合キーとかどうするんだーとか。いうところを気にしないので済むのであれば、ActiveRecordはかなり良いと思います。それにしてもコードがみづらいことこの上ないですね・・・そのうちなんとかしたいところです。