2017.09 «  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 - - - - » 2017.11
TOP > Rails 2.0・その22(fixture の ID は基本不要)

 ← Rails勉強会@東京第30回へ参上つかまつるの巻 | TOP | Rails 2.0・その21(SOAPの組み込みを外に出した)

スポンサーサイト 

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


【広告】

[--.--.--(--) --:--] スポンサー広告 | Trackback(-) | Comment(-)
↑TOPへ

Rails 2.0・その22(fixture の ID は基本不要) 

2008年03月24日 ()
テストを流す前にデータベースに入れておきたいデータをごりごり書いておく fixture ファイルですが、データとして id を指定する必要がなくなりました。

fixture で、id の値を省くと、ラベルのハッシュ値が id として使用されます。

activerecord-2.0.2/lib/active_record/fixtures.rb にそう書いてありました。

  def self.identify(label)
    label.to_s.hash.abs
  end



なので yaml 形式の fixture は、例えば以下のように書くことができます。

people テーブルに、name と age カラムがある場合

Rails2.0
test/fixtures/people.yml

dave:
  name: Dave Smith
  age: 11

mike:
  name: Mike Howdy
  age: 32



↑id:1などと、自分で id を振っても別に構わないです。面倒臭いけど。



Rails1.2

dave:
  id:1
  name: Dave Smith
  age: 11

mike:
  id:2
  name: Mike Howdy
  age: 32






あと、belongs_to 関係にあるときは、属している親のラベル名を指定することができますよ。


Rails2.0
test/fixtures/people.yml

dave:
  name: Dave Smith
  age: 11
  country: us

mike:
  name: Mike Howdy
  age: 32
  country: uk



test/fixtures/countries.yml

us:
  name: The United States
  capital: Washington D.C.

uk:
  name: The United Kingdom
  capital: London




キュッ キュキュッ キュキュッ キュキュキュ ダーテニヤスクハアリマセリーヌディオーン

【広告】

[2008.03.24(Mon) 23:46] [2.0]テストTrackback(0) | Comments(0)
↑TOPへ

 ← Rails勉強会@東京第30回へ参上つかまつるの巻 | TOP | Rails 2.0・その21(SOAPの組み込みを外に出した)

COMMENT

COMMENT POST















管理者にだけ表示

 ← Rails勉強会@東京第30回へ参上つかまつるの巻 | TOP | Rails 2.0・その21(SOAPの組み込みを外に出した)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。