Instant Rails ActiveRecord を利用する その2

ActiveRecord とは

Rails では、MVCのM(モデル)を扱うために ActiveRecord というパッケージを利用する
データベースのテーブルやビューを意識することなく簡単にデータアクセスできる
これにより、開発者はビジネスロジックのプログラミングに専念できる

ActiveRecord はデータベース製品の違いを吸収する仕組みを持っている
このため、データベース変更に伴うソースコードの変更は局所に抑える事が出来る

ActiveRecord を使う

RailsActiveRecord を使うということは、モデルを生成し操作するということ
コマンドラインから、スクリプトを利用してモデルを生成する

rails_apps>ruby script/generate model [生成するモデル名]

実際にテーブルを作成し、それに対するモデルを作成する
phpMyAdmin を利用して、データベースを作成する
そして、SQL文を phpMyAdmin で実行し、userテーブルを作成する

create table users (
  id int not null auto_increment,
  name varchar(20) not null,
  profile varchar(80) not null,
  primary key (id));

ここで、config\database.yml を確認

development:
 adapter: mysql
 database: testActiveRecord_development
 username: root
 password:
 host: localhost

OKそうなので、userモデルを作成

rails_apps\testActiveRecord>ruby script\generate model user
   exists app/models/
   exists test/unit/
   exists test/fixtures/
   create app/models/user.rb
   create test/unit/user_test.rb
   create test/fixtures/users.yml
   create db/migrate
   create db/migrate/001_create_users.rb

生成された直後の app\models\user.rb の内容

class User < ActiveRecord::Base
end

テストクラスを使って ActiveRecord クラスを動かす

テスト環境を確認すると \test\unit\user_test.rb がある

「\test\unit\user_test.rb」
require File.dirname(__FILE__) + '/../test_helper'

class UserTest < Test::Unit::TestCase
 fixtures :users

 # Replace this with your real tests.
 def test_truth
  assert true
 end
end

実際に、このテストクラスを実行

testActiveRecord>ruby test\unit\user_test.rb
Loaded suite test/unit/user_test
Started
.
Finished in 0.953 seconds.
 
1 tests, 1 assertions, 0 failures, 0 errors

テスト成功!って、モデル、テストクラスも生成したままの状態なので
これでテストクラスを使うことができる状態にあることが確認できた