« Railsを学ぶ前に | トップページ | 日本とネットとパソコンと »

2008年2月19日 (火)

ActiveRecordをさわってみる

さて、それではActiveRecordをつかってみましょう。

すでにRailsの開発環境を持っている方ならMySQLとかがインストールされているかもしれません。しかし、ちょっと触ってみるだけなのに高機能なリレーションデータベースを使うのも面倒な気分なのでsqlite3でDBを作って軽くテストプログラムを作りたいと思います。sqlite3のインストールなどについては、詳しく書いてあるサイトを参照してください。

まず、sqlite3でテーブルとデータを作っておきます。sqlite3へのパスが通っている状態でコマンドラインから以下のように入力します。
---
>sqlite3 data.db
sqlite> create table articles (id integer primary key, article text);
sqlite> insert into articles values(null, "Hello World!");
sqlite> insert into articles values(null, "Konnichiha Sekai!");
sqlite> insert into articles values(null, "Hello Ruby ActiveRecord!");
sqlite> .quit
---

sqlite3では、create tableの際に primary keyを指定するだけでオートインクリメントなカラムになります。

このテーブルのレコードの一覧を表示するプログラムは以下のようになります。
ar1.rb
===
#!/usr/bin/ruby

require 'rubygems'
require 'active_record'

#DB接続
ActiveRecord::Base.establish_connection(
  :adapter => 'sqlite3',
  :database => 'data.db'
)

# articlesテーブルにアクセスするためのクラス
class Article < ActiveRecord::Base
end

#artilesのレコードを表示
Article.find(:all).each{ |article|
  p article.article
}

===
実行すると、articleカラムの全てのデータが表示されます。

データの挿入は以下のとおり。
ar2.rb
===
#!/usr/bin/ruby

require 'rubygems'
require 'active_record'

#DB接続
ActiveRecord::Base.establish_connection(
  :adapter => 'sqlite3',
  :database => 'data.db'
)

# articlesテーブルにアクセスするためのクラス
class Article < ActiveRecord::Base
end

#記事をinsert
Article.create(
  :article => "Konnichiha Ruby to ActiveRecord."
)

===

ar1.rb と ar2.rbはほとんど同じに見えますが、一番下の数行だけ違います。
まあほんと2,3行でシンプルに記述できるのがいいですね。

複数のテーブルを扱う場合、しかるべきテーブルをつくって関連を定義すればデータアクセス処理もシンプルに記述できます。テーブルの関連定義はここなどに詳しく書いてあります。

Railsでデータのメンテナンス画面をつくるだけ、みたいな開発はRailsの知識よりはActiveRecordだと思います。Rails入門としてこの辺をもっとわかりやすく開設していかないといけない気がしますね。

|

« Railsを学ぶ前に | トップページ | 日本とネットとパソコンと »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/125677/10575048

この記事へのトラックバック一覧です: ActiveRecordをさわってみる:

« Railsを学ぶ前に | トップページ | 日本とネットとパソコンと »