--------(--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書く事で広告が消せます。
2010-05-10(Mon)

バリデーション(validation)




<< 目次

値を入力する時にその値が数字なのかとかユニークかとかを簡単に検証(規制)することができる。
モデルに以下のように一行追加するだけで可能。

入力値が数字意外だと登録させない。

class Student < ActiveRecord::Base
  validates_numericality_of :student_name
end

入力値が既にあったら登録させない。

class Student < ActiveRecord::Base
  validates_uniqueness_of :student_name
end

入力値が空だったら登録させない。

class Student < ActiveRecord::Base
  validates_presence_of :student_name
end

入力値が正規表現とマッチしないと登録させない。

class Student < ActiveRecord::Base
  validates_format_of :student_name , :with => /[a-zA-Z]/
end

入力値が指定数以上の長さだと登録させない。

class Student < ActiveRecord::Base
  validates_length_of :person, :maximum => 10
end

入力値の文字数が指定範囲じゃないと登録させない。

class Student < ActiveRecord::Base
  validates_length_of :person, :within => 6..12
end

複数カラムを同じ条件で検証する場合は、カラムを","で区切って追加するだけ。

class Student < ActiveRecord::Base
  validates_numericality_of :student_name, :student_number
end


<< 目次

2010-05-09(Sun)

マイグレーション(migration)の使い方。



<< 目次

マイグレーションでできる事。

開発環境で実行

rake db:migrate


本番環境で実行

rake db:migrate RAILS_ENV=production


VERSION を指定してその時の状態に戻ったり進んだりが可能。VERSION 番号は、db/migration 以下にあるファイル名の14桁。省略はできない。必ず指定する。

rake db:migrate:up VERSION=201005010131
rake db:migrate:down VERSION=201005010131

カレントバージョンの確認

rake db:version

ひとつ前の状態に戻りたい。

rake db:rollback

3っつ前の状態に戻りたい。

rake db:rollback STEP=3

本番環境でひとつ前の状態に戻りたい。

rake db:rollback RAILS_ENV=production


<< 目次

2010-05-09(Sun)

limit で出力の件数の上限を指定する。




<< 目次

limit で出力される結果の上限を指定する。

20件だけ表示したい時。

@students = Student.find(:all, :limit => 20)

さらに、指定した件数分を読み飛ばして表示したい時。

@students = Student.find(:all, :limit => 20, :offset => 5)


<< 目次

2010-05-09(Sun)

スキャフォールド(scaffold)を使って雛形を作る。




<< 目次

マイグレーションを実行する前にマイグレーションファイルが必要になる。
スキャフォールドでマイグレーションファイルを作成する。

"教室" の情報を持たせたい為、"class_rooms" というテーブルを作成する。
注意するのは、"class_rooms" ではなく "class_room" で指定すること。
rails が勝手に複数形にしてくれるのでコマンドは単数形となる。

ruby script/generate scaffold class_room room_name:string

さらに、上記では、テーブルを作るのと同時にカラムも同時に作成していることがわかる。
"カラム名:型" で指定すればよい。rails では、DB選択に自由度を持たせている為、型を抽象化している。
抽象表現とかよく書いてある。

rails で有効な主な型。

railsruby
:stringString
:textString
:integerFixnum
:datetimeTime
:timestampTime
:booleanObject

<< 目次

お勧めリンク

お勧めリンク

  
注目商品

お勧めレンタルサーバー


検索フォーム
RSSリンクの表示
リンク
QRコード
QR
お勧め商品



お勧めソフトウェア



お勧めドメイン